Что произойдет в результате компиляции и выполнения кода:

final public class Parent {
    final public void test() {            
        System.out.println("hello");
    }
}

class Child extends Parent {         //1
    public void test() {             //2
        System.out.println("world");
    }    
}

class Main {            
    public static void main(String args[]) {
        Child c = new Child();
        c.test();
    }    
}
Explanation
В данном случае ключевое слово final используется для отмены наследования класса parent и отказа от переопределения метода test()

javac Parent.java

Parent.java:7: cannot inherit from final Parent
class Child extends Parent { //1
^
Parent.java:8: test() in Child cannot override test() in Parent; overridden method is final
public void test() { //2
^
//2 errors

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты