一、判断题(每题1分,共20分)
1.一个新类可以从现有的类中派生,这个过程称为类继承。
对
错
2.根据已有类继承定义出的新类称为已有类的派生类(子类),已有类称为超类(父类)。
对
错
3.Java不支持类的多重继承,只支持类的单继承。
对
错
4.如果在派生类的构造方法的定义中没有明确调用父类的构造方法,则系统在执行派生类的构造方法时会自动调用父类的缺省(默认)构造方法。
对
错
5.在一个派生类中,可以定义与上层父类中的成员同名的变量。
对
错
6.一个父类的对象可以直接赋值给下层子类的对象。
对
错
7.任何一个派生类的引用变量(或对象)都可以被当成一个父类的引用变量(或对象)。
对
错
8.派生类可以直接访问从父类中继承下来的所有成员变量及方法。
对
错
9.在Java语言中,既可以根据一个类创建对象,也可以根据一个接口创建对象。
对
错
10.Java中的动态多态性实现手段是覆盖基类中的同名成员函数,其调用规则是依据对象在实例化时而非定义时的类型调用对应类中的同名成员函数。
对
错
11.抽象类要包含一些抽象方法,这种抽象方法只有方法的声明,而没有方法的实现。
对
错
12.在一个抽象类中,也可以包含成员变量和构造方法。
对
错
13.接口中的所有方法都是抽象的,每个方法都只有方法声明,而没有方法体。
对
错
14.在Java语言中,既不能利用抽象类生成对象,也不能利用接口生成对象。
对
错
15.接口中的所有成员方法都默认具有public和abstract修饰。
对
错
16.一个类可以实现一个或多个接口,所使用的子句关键字为implements。
对
错
17.在Java语言中,一个类不能被定义在另一个类之中,类与类之间没有包含关系。
对
错
18.在Java语言中,使用包提供了包一级的封装及存取权限。
对
错
19.一个包不仅可以包含若干个类字节码文件,还可以包含若干个包。
对
错
20.在Java语言中,声明包语句的关键字为package,引入包语句的关键字为import。
对
错
二、简答题,选择下列每个主函数运行后的输出结果。(每题1分,共5分)
21.public class XXK2 {
private int a,b;
public XXK2(int aa, int bb) {a=aa; b=bb;}
public int f1(int x) {
if(x>10) return a+b+3*x;
else return a*b*x;
}
public static void main(String[] args) {
XXK2 x=new XXK2(3,4);
int y=x.f1(8);
System.out.println(\”y=\”+y);
}
}
y=96
y=34
22.public class XXK4 {
public static void main(String[] args) {
int []a={2,5,8,10,15,20};
int s=0;
for(int i=0; i<a.length; i++) s+=a[i];
System.out.println(\”s=\”+s);
}
}
s=43
s=60
23.public class XXK4 {
public static void main(String[] args) {
String []a={\”xxk\”,\”weirong\”,\”xucong\”,\”xuxiaohua\”,\”baojuan\”};
int m=0;
for(int i=0; i<a.length; i++) {
int n=a[i].length();
if(n>m) m=n;
}
System.out.println(\”m=\”+m);
}
}
m=9
m=10
24.abstract class Shape {
int a,b;
public Shape(int aa, int bb) {a=aa; b=bb;}
abstract public double area();
}
class Rectangle extends Shape {
public Rectangle(int aa, int bb) {super(aa,bb);}
public double area() {return a*b;}
}
class Triangle extends Shape {
public Triangle(int aa, int bb) {super(aa,bb);}
public double area() {return a*b/2;}
}
public class XXK3 {
public static void main(String[] args) {
Shape x,y;
x=new Rectangle(10,20);
y=new Triangle(10,15);
System.out.println(x.area()+\”, \”+y.area());
}
}
200.1, 75.1
200.0, 75.0
25.interface Shape {
double area();
double girth();
}
class Rectangle implements Shape {
int a,b;
public Rectangle(int aa, int bb) {a=aa; b=bb;}
public double area() {return a*b;}
public double girth() {return 2*(a+b);}
}
public class XXK3 {
public static void main(String[] args) {
Shape x;
x=new Rectangle(5,8);
System.out.println(x.area()+\”, \”+x.girth());
}
}
50.0, 36.0
40.0, 26.0