java 关于“WebDriver driver = new ChromeDriver”的问题

aor9mmx1  于 2023-09-29  发布在  Java
关注(0)|答案(1)|浏览(130)

WebDriver是一个接口吗?如果是的话,我想Java不允许我们示例化一个接口对象?
下面是说明WebDriver是一个接口的文档:
https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/WebDriver.html
我试着在谷歌上搜索,但这是一个非常具体的问题。我想我错过了一个非常基本的点,但任何帮助都是感激的。

rryofs0p

rryofs0p1#

你是对的,你不能示例化一个接口,所以这不会工作:

WebDriver driver = new WebDriver();

但是,您并没有示例化WebDriver,而是示例化了 ChromeDriver,它是一个类。
你可以将它赋值给一个WebDriver类型的变量(一个ChromeDriver实现的接口),因为这样你就不必关心你是把一个new ChromeDriver()还是一个new FirefoxDriver()或其他什么放在那里,只要它实现了WebDriver接口(你可以有条件地进行赋值,例如,不必使用不同类型的不同变量)。这就是接口的用处所在。

相关问题