全国计算机等级考试Java试题及答案(5)
什么是构造方法?
解:构造方法是完成对象初始化任务的方法,构造方法的名称和类同名,没有返回值类型,尽管构造方法看起来和一般的成员方法没有差别,但它不同于成员方法,构造方法不能直接调用,只能由new操作符调用。
构造方法有什么特点和作用?
解:构造方法的特点如下:在new操作符调用类的构造方法后为对象分配内存,确定对象的初始状态,初始化所用变量。在同一个类中可以定义多个构造方法,名字相同参数不同。创建对象时,可以根据需要选择合适的构造方法初始化对象。
分析下面这段程序,指出父类、子类以及它们的成员,成员的作用是什么?
Class point{
Int x,y;
Point (int a,int b){setPiont(a,b);}
public void serPiont(int a,int b){x=a,y=b;}
}
class Circle extends Piont{
int radius;
Circle (int a,int b,int r){super(a,b);setRadius(r);}
public void setRadius(int r){radius=r;}
public double area() {return 3014159*radius*radius;}
}
解:Piont类为Circle类的父类。Piont类为Object类的子类。
Piont类包含成员变量x和y,以供成员方法和对象引用。成员方法setPiont的作用是设置点的坐标位置。构造方法Piont通过参数a和b引用setPiont方法初始化成员变量x和y。
Circle类包含成员变量radius,以供保存半径变量。成员方法setRadius的作用是设置半径的值。成员方法area的作用是返回圆面积的值。构造方法Circle通过参数a,b,r引用父类构造方法和setRadius方法初始化变量radius、x、y。
给出下列不完整代码:
Class Person{
String name,department;
Int age;
public Person(string n ){name=n;}
public Person(string n ,int a ){name=n’,age=a;}
public Person(string n ,string d,int a){
department=d;
}
}
下面的那些表达式可以加到构造方法的“ ”处(C)
A Person(n,a); B this(Person(n,a));
C this(n,a); D this(name,age);
阅读下面的代码:
Public class Parent{
Public int addValue(int a,int b){
Int s;
S=a+b;
Return s;
}
}
Class Child extends Parent{
}
下列哪些方法可以加入类Child中?为什么?(BC)
A. int addValue(int a,int b){ }
B. public void addValue(){ }
C. public int addValue(int a){ }
D. public int addValue(int a,int b) throws MyException { }
给出下面的代码:
Class Person{
String name,department;
public void printValue(){
system .out,println(“name is+name”);
system .out,println(“ department is +department”);
.}
}
Public class Teacher extends Person{
Int salary;;
public void printValue(){//做和父类的方法中相同的事情——打印名字和部门
system .out,println(“salary is+salary”);
}
}
下面那些表达是可以加到Teacher类的printValue()中?为什么?(D)
A. printValue();
B. this. printValue();
C. person. printValue();
D. super. printValue();