【笔试题】Overriding in Java

笔试题 Overriding in Java

Question 1 以下程序的输出结果为( )。

class Derived {
    protected final void getDetails() {
        System.out.println("Derived class");
    }
}

public class Test extends Derived {
    protected final void getDetails() {
        System.out.println("Test class");
    }

    public static void main(String[] args) {
        Derived obj = new Derived();
        obj.getDetails();
    }
}

a) Derived class
b) Test class
c) Runtime error
d) Compilation error

参考答案

``` d ```

Question 2 以下程序的输出结果为( )。

class Derived {
    public void getDetails(String temp) {
        System.out.println("Derived class " + temp);
    }
}

public class Test extends Derived {
    public int getDetails(String temp) {
        System.out.println("Test class " + temp);
        return 0;
    }

    public static void main(String[] args) {
        Test obj = new Test();
        obj.getDetails("GFG");
    }
}

a) Derived class GFG
b) Test class GFG
c) Compilation error
d) Runtime error

参考答案

``` c ```

Question 3 以下程序的输出结果为( )。

class Derived {
    public void getDetails() {
        System.out.println("Derived class");
    }
}

public class Test extends Derived {
    protected void getDetails() {
        System.out.println("Test class");
    }

    public static void main(String[] args) {
        Derived obj = new Test(); // line xyz
        obj.getDetails();
    }
}

a) Test class
b) Compilation error due to line xyz
c) Derived class
d) Compilation error due to access modifier

参考答案

``` d ```

Question 4 以下程序的输出结果为( )。

import java.io.IOException;

class Derived {
    public void getDetails() throws IOException { // line 23
        System.out.println("Derived class");
    }
}

public class Test extends Derived {
    public void getDetails() throws Exception { // line 24
        System.out.println("Test class");
    }

    public static void main(String[] args) throws IOException { // line 25
        Derived obj = new Test();
        obj.getDetails();
    }
}

a) Compilation error due to line 23
b) Compilation error due to line 24
c) Compilation error due to line 25
d) All the above

参考答案

``` b ```

Question 5 以下程序的输出结果为( )。

class Derived {
    public void getDetails() {
        System.out.printf("Derived class ");
    }
}

public class Test extends Derived {
    public void getDetails() {
        System.out.printf("Test class ");
        super.getDetails();
    }

    public static void main(String[] args) {
        Derived obj = new Test();
        obj.getDetails();
    }
}

a) Test class Derived class
b) Derived class Test class
c) Compilation error
d) Runtime error

参考答案

``` a ```

参考链接

原文地址:https://www.cnblogs.com/hgnulb/p/11343046.html