gpt4 book ai didi

java - WebDriver driver=new FirefoxDriver() 这是编译时绑定(bind)还是运行时绑定(bind)?

转载 作者:行者123 更新时间:2023-12-01 11:50:13 25 4
gpt4 key购买 nike

看起来我对核心 Java 概念有点困惑。请看下面。

    class A{
public void func1()
{
System.out.println("Hello A");
}
}
class B extends A{
public void func1(){
System.out.println("Hello B");
}
}
class C {
public static void main( String args[]) {

A myobj = new B();
myobj.func1();
}
}

众所周知,Webdriver 是一个接口(interface),而 FirefoxDriver 是 Webdriver 的实现类,因此根据上面的示例,假设以下语句是正确的: WebDriver driver=new FirefoxDriver() 是一个后期绑定(bind)示例。

最佳答案

WebDriver driver=new FirefoxDriver() is this compile-time or runtime binding?

这是与名为 FirefoxDriver 的类的编译时绑定(bind)。它将使用类路径中的任何 FirefoxDriver 类。这与 Java 的编译时差不多,因为 Java 在编译时和运行时都从类路径工作。

这是运行时绑定(bind)的示例:

String driverName = /*...get the name from somewhere, like a properties file...*/;
WebDriver driver = Class.forName(driverName).newInstance();

关于java - WebDriver driver=new FirefoxDriver() 这是编译时绑定(bind)还是运行时绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28855300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com