Допустим, у меня есть следующий класс:
public class MyClass {
public void doSomething() {
System.out.println("doing something.");
}
}
Давайте далее предположим, что все, что делает мой проект, это вызывает этот .something()
метод. Никаких переопределений или каких-либо других смешных дел.
MyClass myObj = new MyClass();
myObj.doSomething();
Замечает ли компилятор javac
, что этот вызов метода не переопределяется, и оптимизирует привязку к "раннему связыванию"? Я прошу из любопытства; в любом реальном приложении я бы, конечно, разбросал final
, static
и private
по всему коду.