int i=0,sum=0;
do{sum=sum+i*i;i++;} while(i<=100)
4.编写一个学生类students,该类包括学号no、姓名name、性别sex和年龄age成员变量;该类的成员方法有getNo、getName、getSex、getAge和setAge。 参考答案:参考程序:Exam030306.java。 class students {
String no; String name; String sex; int age;
public String getNo() {return no; }
public String getName() {return name;}
public String getSex() {return sex; }
public int getAge() {return age; }
public void setAge(int a) {age=a; } }
5.给第4题创建的类添加构造方法为所有成员变量赋初值,构造方法要有4种格式: (1)包括no、name、sex和age四个参数。 (2)包括no、name和sex 三个参数。 (3)包括no和name两个参数。 (4)只包括no一个参数。
参考答案:参考程序:Exam030306.java。 class students {
String no; String name; String sex; int age;
public students(String a, String b, String c, int d) {
no=a; name=b; sex=c;
age=d; }
public students(String a, String b, String c) {
no=a; name=b; sex=c; }
public students(String a, String b) {
no=a; name=b; }
public students(String a) {
no=a; }
public String getNo() {return no; }
public String getName() {return name;}
public String getSex() {return sex; }
public int getAge() {return age; }
public void setAge(int a) {age=a; } }
6.把第5题创建的类实例化为一个对象studentOne,并对该对象设置如下的成员变量:no=”001”,name=”张三”,sex=”男”,age=25。
参考答案:参考程序:Exam030306.java。
第四章 面向对象程序设计
一、选择题:
1、 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数,类型或顺
序各不相同,传回的值也可以不相同。这种面向对象程序的特性成为(C )。 A) 隐藏 B) 覆盖 C) 重载 D) Java不支持此特性
2、 若在某一个类定义中定义有如下的方法:
abstract void performDial(){};
则该方法属于( D )。 A) 本地方法 B) 最终方法
C) 静态方法
D) 抽象方法
3、 以下选项中循环结构合法的是( C ) A) while(int i<7)
{i++;
System.out.println(“i is”+i); }
B) int j=3;
while(j)
{System.out.println(“j is”+j); }
C) int j=0;
for(int k=0; j + k !=10; j++,k++)
{System.out.println(“j is”+j+ “k is”+k); }
D) int j=0;
do{
System.out.println(“j is”+j++); if(j == 3){continue loop;} }while (j<10);
参考答案:参考程序:Exam040103.java。
4、 以下关于方法覆盖的叙述正确的是( C )。
A) 子类覆盖父类的方法时,子类对父类同名的方法将不能再做访问 B) 子类覆盖父类的方法时,可以覆盖父类中的final方法和static方法
C) 子类覆盖父类的方法时,子类方法的声明必须与其父类中的声明完全一样 D) 子类覆盖父类的方法时,子类方法的声明只需与其父类中声明的方法名一样
5、 下列构造方法的调用方式中,正确的是( C )。
A) 按照一般方法调用 B) 由用户直接调用 C) 只能通过new自动调用 D) 被系统调用
6、 在Java中,能实现多重继承效果的方式是(C )。
A) 内部类 B) 适配器 C) 接口
7、 分析下面的程序,运行显示的结果为(B )。
public class X {
public static void main(String args[]) { X a=new Y();
D) 继承
a .test(); //源代码错误:test();应为a .test(); }
void test() {
System.out.println(“X”); } }
class Y extends X {
void test() { super.test(); System.out.println(“Y”); } }
A) “YX” B) “XY” C) “X” D) “Y”
参考答案:参考程序:Exam040107.java。
二、填空题:
1、接口声明的关键字是 interface 。
2、如果一个类引用了某个接口,就必须在类体中重写接口中定义的所有 抽象 方法。 3、Java的源代码中定义了几个类,编译结果就生成几个以 class 为后缀的字节码文件。 4、Java规定,当局部变量与成员变量的同名时,局部变量会 屏蔽 成员变量。 5、在Java中,this用来代表 当前正在操作的 对象。
6、Java规定,如果子类中定义的成员方法与父类中定义的成员方法同名,并且 参数 的个数和和类型以及 返回值 的类型也相同,则父类中的同名成员方法被屏蔽。
7、当父类的成员被屏蔽时,如果要引用父类中的成员变量或成员方法,就必须使用 super 来引用。
8、静态成员变量(或称类变量)是通过 类名 来访问的。
三、上机练习题
1.编写一个大学生类undergraduate,该类继承第3章上机练习第4题的students类的所有属性和方法,再为undergraduate类新添一个电话号码成员变量telephone。
参考答案:参考程序:Exam040302.java。
//undergraduate类继承students类的所有属性和方法 class undergraduate extends students {
String telephone;
public undergraduate(String ss1,String ss2,String ss3,int ss4,String ss5)
相关推荐: