OurViewClient
это класс, который вы сделали.OurViewClient()
- это конструктор для этого класса, который принимает 0 параметров.И метод setWebViewClient()
требует WebViewClient
экземпляр в качестве параметра.
Таким образом, оператор new
эффективно выделяет новый экземпляр класса OurViewClient
, а затем вызывает конструктор 0-параметра по умолчанию для этого экземпляра, возвращая созданный объект.Использование new
- это единственный способ создать экземпляр Object
в Java, исключая более сложные темы, такие как рефлексия, или используя такие вещи, как sun.misc.Unsafe
, а также некоторые исключения, связанные со встроенными типами / автобоксом (например, * 1016).* и Integer num = 7;
).
Обратите внимание, что следующий код по существу эквивалентен имеющемуся у вас:
WebViewClient client = new OurViewClient();
ourBrow = (WebView) findViewById(R.id.wvBrowser);
ourBrow.setWebViewClient(client);
Также обратите внимание, что следующие значения недействительны :
WebViewClient client = OurViewClient(); //can't invoke a constructor without using 'new'
WebViewClient client = OurViewClient; //can't assign the class
WebViewClient client; //valid syntax, but 'client' will be null