八、继承与多态
1)以下程序调试结果为:
class Base{
Base(){
inti = 100;
System.out.print (i);
}
}
public class Pri extends Base{
static int i = 200;
public static void main(String argv[]){
Pri p = new Pri();
System.out.print(i);
}
}
A.编译错误B.200C.100200D.100
(2)以下程序调试结果为:
public class Test {
int m=5;
publicvoid some(int x) {
m=x;
}
public static void main(String args []) {
new Demo().some(7);
}
}
class Demo extends Test {
int m=8;
publicvoid some(int x) {
super.some(x);
System.out.println(m);
}
}
A.5B.8C.7D.无任何输出E.编译错误
3)试完成下述程序片段:
public class Point()
{int x,y;
publicPoint(int x,int y)
{=x;=y;
}
......
}
A.Point.xPoint.yB.无解C.x1y1D.this.xthis.y
(4)考虑如下类:
1. class Test(int i) {
2.void test(int i) {
3.System.out.println("I am an int.");
4.}
5.void test(String s) {
6.System.out.println("I am a string.");
7.}
8.
9.public static void main(String args[]) {
10.Test t=new Test();
11.char ch="y";
12.t.test(ch);
13.}
14. }
以下哪条为真?
A.行5不能通过编译,方法不能被覆盖.
B.行12不能通过编译,因为没有一个test()方法含字符参数.
C.代码可以编译但在12行将出现异常.
D.代码可以编译且产生如下输出: I am an int.
E.代码可以编译且产生如下输出: I am a String.
(5)类Test1定义如下:
1.publicclassTest1{
2.publicfloataMethod(floata,floatb