簡體   English   中英

WebDriver driver = new FirefoxDriver()是編譯時綁定還是運行時綁定?

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

看起來我對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是接口,而FirefoxDriver是Webdriver的實現類,因此基於上述示例,可以正確地假設以下語句: WebDriver driver=new FirefoxDriver()是后期綁定的示例。

WebDriver driver=new FirefoxDriver()是編譯時綁定還是運行時綁定?

那是在編譯時綁定到名為FirefoxDriver的類。 它將使用classpath中的任何FirefoxDriver類。 這與Java獲得的編譯時間差不多,因為Java在編譯時和運行時都從類路徑進行工作。

這是運行時綁定的示例:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM