笔试题 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
```
参考链接