收藏 分享(赏)

JAVA复习题(继承).doc

上传人:weiwoduzun 文档编号:4219415 上传时间:2018-12-16 格式:DOC 页数:24 大小:735.50KB
下载 相关 举报
JAVA复习题(继承).doc_第1页
第1页 / 共24页
JAVA复习题(继承).doc_第2页
第2页 / 共24页
JAVA复习题(继承).doc_第3页
第3页 / 共24页
JAVA复习题(继承).doc_第4页
第4页 / 共24页
JAVA复习题(继承).doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、1类的继承习题一、选择题1. Java 语言的类间的继承关系是( B )。A) 多重的 B) 单重的 C) 线程的 D) 不能继承 2. 以下关于 Java 语言继承的说法正确的是( C )。A)Java 中的类可以有多个直接父类 B)抽象类不能有子类C)Java 中的接口支持多继承 D)最终类可以作为其它类的父类3. 现有两个类 A、B,以下描述中表示 B 继承自 A 的是(D)。A) class A extends B B) class B implements AC) class A implements B D) class B extends A4. 下列选项中,用于定义接口的关键字

2、是( A) 。A)interface B) implements C) abstract D) class5. 下列选项中,用于实现接口的关键字是( B)。A)interface B) implements C) abstract D) class6. Java 语言的类间的继承的关键字是( B )。A) implements B) extends C) class D) public 7. 以下关于 Java 语言继承的说法错误的是( A )。A)Java 中的类可以有多个直接父类 B)抽象类可以有子类C)Java 中的接口支持多继承 D)最终类不可以作为其它类的父类8. 现有两个类 M、N

3、,以下描述中表示 N 继承自 M 的是(D)。A) class M extends N B) class N implements MC) class M implements N D) class N extends M9. 现有类 A 和接口,以下描述中表示类实现接口的语句是(A)。A) class implements B B) class B implements C) class extends B D) class B extends 10. 下列选项中,定义抽象类的关键字是( C)。A)interface B) implements C) abstract D) class11.

4、 下列选项中,定义最终类的关键字是(D)。A)interface B) implements C) abstract D) final12. 下列选项中,哪个是 java 语言所有类的父类(C)A)String B) Vector C) Object D) KeyEvent13. java 语言中,用于判断某个对象是否是某个类的实例的运算符是(A)A)instanceof B) + C) isinstance D) String str2=“ How are you? “;public String toString( ) return str1+str2; public class B ex

5、tends AString str1=“bb,Bill.“;public String toString( ) return super.str1+str1; 问题:1)类 A 和类 B 是什么关系? (继承关系)2)类 A 和类 B 都定义了 str1 属性和方法 toString( ), 这种现象分别称为什么?(属性的隐藏;方法的覆盖)3)若 a 是类 A 的对象,则 a.toString( )的返回值是什么?(Hello! How are you?)4)若 b 是类 B 的对象,则 b.toString( )的返回值是什么?(Hello,Bill.)2.现有一个类定义如下,请回答问题:c

6、lass EmployeeString name;int age;double wage;static int No=0;Employee(String a1,int a2,double a3) name=a1; age=a2; wage=a3;3No+; 在使用该类时,已使用下面语句生成了该类的对象:Employee e1,e2;e1=new Employee(“王劲“,26,6300);e2=new Employee(“张山“,30,3800);问题:1)e2.name,e2.age,e2.wage 的值各是什么?(张山;30;3800.0)2)生成对象 e1、e2 后,e1.No 值为多

7、少?能否通过类名做前缀引用属性 No?(2; 能)3.阅读程序,回答问题。public class InheritTest1public static void main (String args)A aa; B bb;aa=new A( ); bb=new B( );aa.show( ); bb.show();class Aint a=1;double d=2.0;void show( ) System.out.println(“Class A: “+“ta=“+a +“td=“+d); class B extends Afloat a=3.0f; String d=“Java progra

8、m.“; int b=4;void show( ) System.out.println(“Class A: “+“ta=“+super.a +“td=“+super.d);super.show( ); System.out.println(“Class B: “+“ta=“+a +“td=“+d+“tb=“+b);问题:1)这是哪一类 java 程序? (java 应用程序)2)类 A 和类 B 是什么关系?(类 B 是类 A 的子类)3)按程序输出的格式写出程序运行后的结果.(程序运行结果如下:Class A: a=1 d=2.0Class A: a=1 d=2.0Class A: a=1

9、 d=2.0Class B: a=3.0 d=Java program. b=4 )4.现有类说明如下,请回答问题:class Aint x=10;int getA()return x;class B extends A4int x=100;int getB()return x;问题:1)类 B 是否能继承类 A 的属性 x?(能)2)若 b 是类 B 的对象,则 b.getB()的返回值是什么?(100)3)若 b 是类 B 的对象,则 b.getA()的返回值是什么?(10)4)类 A 和类 B 都定义了 x 属性,这种现象称为什么?(属性的隐藏)5.有如下源程序,请回答问题:class

10、A String s=“class A“; class B extends A String s=“class B“; public class TypeConvertpublic static void main(String args)B b1,b2=new B();A a1,a2;a1=(A)b2;a2=b2;System.out.println(a1.s);System.out.println(a2.s);b1=(B)a1;System.out.println(b1.s);System.out.println(b2.s);问题: 该程序的四行输出各是什么 ?(class Aclass

11、Aclass Bclass B)6.现有类说明如下,请回答问题:public class Aint x=888;String str=“I like: “;public String toString() return str+x; public class B extends AString x=“java“;public String toString() return str+x+“ and “+super.x; 问题:1)类 A 和类 B 是什么关系? (类 B 是类 A 的子类)2)类 A 和类 B 都定义了 x 属性和方法 toString(),这种现象分别称为什么?(属性的隐藏和

12、方法的覆盖)3)若 a 是类 A 的对象,则 a.toString( )的返回值是什么?(I like: 888)4)若 b 是类 B 的对象,则 b.toString( )的返回值是什么?(I like: java and 888)7.运行类 C 的输出结果是什么?class Apublic A()5System.out.println(“The default constructor of A is invoked”);class B extends Apublic B()public class Cpublic static void main(String args)B b = new

13、 B();8.阅读下列程序写出输出结果:class A String s=“class A“; void show()System.out.println(s);class B extends A String s=“class B“; void show()System.out.println(s);public class TypeConvertpublic static void main(String args)B b1;B b2=new B();A a1,a2;a1=(A)b2;a2=b2;System.out.println(a1.s);a1.show();System.out.p

14、rintln(a2.s);a2.show();b1=(B)a1;System.out.println(b1.s);b1.show();System.out.println(b2.s);b2.show();答案:class Aclass Bclass Aclass Bclass Bclass B6class Bclass B四、程序填空题1.下面是一个类的定义,完成程序填空。 (Youwrite this.x=x;)public class Youwrite int x;_( ) x=0;Youwrite ( int x) _; 2.下面是定义一个接口 ITF 的程序,完成程序填空。(inter

15、face abstract )public _ ITFpublic static final double PI=Math.PI;public _ double area(double a, double b);3.下面是定义一个接口 A 的程序,完成程序填空。 (final ”;” )public interface Apublic static _ double PI=3.14159;public abstract double area(double a, double b)_五、编程题简单类的继承:1.定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。编写一个类,继承自矩

16、形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高,输出其底面积和体积。public class TestExtendspublic static void main(String args)LiFangTi f=new LiFangTi();f.length=2;f.width=3;f.height=7;System.out.println(“立方体的底面积为:“+f.findArea()+“立方体的体积为:“+f.findVolume();class JuXingint length;int width;i

17、nt findArea()return length*width;class LiFangTi extends JuXingint height;int findVolume()return findArea()*height;73. 定义一个 Person 类,它包括的属性有“姓名”和“性别” ,为 Person 类派生出一个子类 Student 类,为Student 子类添加两个属性年龄和成绩等级(用 A,B ,C,D,E 表示) ,在子类中打印出学生的姓名、性别、年龄及成绩等级。class Personprotected String name;protected String sex;

18、Person(String name,String sex)this.name=name;this.sex=sex;public String toString()String s=new String();s=name+“t“+sex;return s;class Student extends Personprotected int age;protected char grade;Student(String name,String sex,int age,char grade)super(name,sex);this.age=age;this.grade=grade;void prin

19、t()String s=new String();s=super.toString();s=s+“t“+age+“t“+grade;System.out.println(s);public class TestPpublic static void main(String args)Student st1=new Student(“zhangfei“,“male“,23,E);Student st2=new Student(“liubei“,“male“,25,A);System.out.println(“name“+“tset“+“tage“+“tgrade“);st1.print();8s

20、t2.print();4.定义一个类 Rectangle 代表矩形,其中包括计算面积的方法。再定义一个它的子类 Square 代表正方形,其中也包含计算面积的方法。编写一程序,测试新建子类对象的属性和方法。class Rectanglefloat length;float width;Rectangle(float len,float wh)length=len;width=wh;float getArea()return length*width;class Square extends Rectanglefloat length;Square(float len)super(len,len

21、);length=len;float getArea()return super.getArea();public class TestRectanglepublic static void main(String args)Square sq=new Square(5.2f);System.out.println(“side is “+sq.length+“,area is “+sq.getArea();类与对象习题一、选择题1 定义类头时,不可能用到的关键字是( B)。A) class B)private C)extends D)public2.下列类定义中,不正确的是(C)。9A) cl

22、ass x B) class x extends y C) static class x implements y1,y2 D) public class x extends Applet 3.下列类头定义中,错误的是( A) 。A)public x extends y . B) public class x extends y .C)class x extends y implements y1 . D)class x .4.设 A 为已定义的类名,下列声明 A 类的对象 a 的语句中正确的是( D)。A) float A a; B) public A a=A( ); C) A a=new

23、int( ); D) static A a=new A( );5.设 A 为已定义的类名,下列声明 A 类的对象 a 的语句中正确的是(A) 。A) public A a=new A( ); B) public A a=A( ); C) A a=new class( ); D) a A;6.设 X 、Y 均为已定义的类名,下列声明类 X 的对象 x1 的语句中正确的是(C)。A) public X x1= new Y( ); B) X x1= X ( ); C) X x1=new X( ); D) int X x1;7. 设 X 、Y 为已定义的类名,下列声明 X 类的对象 x1 的语句中正确

24、的是(A) 。A) static X x1; B) public X x1=new X(int 123); C) Y x1; D) X x1= X( );8.通过类 MyClass 中的不含参数的构造方法,生成该类的一个对象 obj,可通过以下语句实现: _。(MyClass obj=new MyClass( );)9. 设 i , j 为类 X 中定义的 int 型变量名,下列 X 类的构造方法中不正确的是 ( A)。A) void X(int k ) i=k; B) X(int k ) i=k; C) X(int m, int n ) i=m; j=n; D) X( )i=0;j=0; 1

25、0. 有一个类 A,以下为其构造方法的声明,其中正确的是( A )。A)public A(int x). B)static A(int x).C)public a(int x). D)void A(int x).11. 有一个类 A,以下为其构造方法的声明,其中正确的是( B )。A)void A(int x). B)A(int x).C)a(int x). D)void a(int x).12. 设 i、j、k 为类 X 中定义的 int 型变量名,下列类 X 的构造方法中不正确的是 ( B )。A) X( int m) . B) void X( int m) . C) X( int m,

26、int n) . D) X( int h,int m,int n) . 13. 设 i , j 为类 X 中定义的 double 型变量名,下列 X 类的构造方法中不正确的是(A ) 。A) double X(double k ) i=k; return i; C) X( )i=6;j=8; B) X(double m, double n ) i=m; j=n; D) X(double k ) i=k; 14. 设 a , b 为类 MyClass 中定义的 int 型变量名,下列 MyClass 类的构造方法中不正确的是(A)。double MyClass(double k ) a=k; r

27、eturn a; MyClass( )a=6;b=8; MyClass (double m, double n ) a=m; b=n; MyClass (double k ) a=k; 15 定义类头时,不可能用到的关键字是(A)。A)protected B) class C)extends D)public16.下列类头定义中,错误的是(A)。A)public TestClass extends y . B) public class TestClass extends y .C)class TestClass extends y implements y1 . class TestClas

28、s .17.设 B 为已定义的类名,下列声明 B 类的对象 b 的语句中正确的是 (D)。A) float B b; B) public B b=B( ); C) B b=new int( ); D) static B b=new B( );18.设 ClassA 为已定义的类名,下列声明 ClassA 类的对象 ca 的语句中正确的是(A)。A)public ClassA ca=new ClassA( ); B) public ClassA ca=ClassA( ); C) ClassA ca=new class( ); D) ca ClassA;1019.设 A 、B 均为已定义的类名,下

29、列声明类 A 的对象 a1 的语句中正确的是(C) 。A) public A a1= new B( ); B) A a1= A ( ); C) A a1=new A( ); D) int A a1;20. 设 A 、B 为已定义的类名,下列声明 A 类的对象 a1 的语句中正确的是(A)。A) static A a1; B) public A a1=new A(int 123); C) B a1; D) A a1= A( );21.通过类 A 中的不含参数的构造方法,生成该类的一个对象 a,可通过以下语句实现: _。(A a=new A( );)22. 设 m , n 为类 A 中定义的 in

30、t 型变量名,下列 A 类的构造方法中不正确的是( A)。A) void A(int k ) m=k; B) A(int k ) m=k; C) A(int m, int n )m=i; n=j; D) A( )m=0;n=0; 23. 有一个类 Person,以下为其构造方法的声明,其中正确的是( A )。A)public Person (int x). B)static Person (int x).C)public a(int x). D)void Person (int x).24. 有一个类 Student,以下为其构造方法的声明,其中正确的是 ( B )。A)void Studen

31、t (int x). B) Student (int x).C)s(int x). D)void s(int x).25. 设 i、j、k 为类 School 中定义的 int 型变量名,下列类 School 的构造方法中不正确的是( B )。A) School ( int m) . B) void School ( int m) . C) School ( int m, int n) . D) School ( int h,int m,int n) . 二、填空题1.下面是一个类的定义,请完成程序填空。 (Myclass int j)public class _ int x, y;Mycla

32、ss ( int i, _) / 构造方法x=i; y=j;2. 下面是一个类的定义,请将其补充完整。(Student String)class _ String name;int age;Student( _ s, int i)name=s;age=i;3.下面是一个类的定义,请将其补充完整。 (myclass static)class _ / 定义名为 myclass 的类_ int var=666;static int getvar() return var; 4.下面程序的功能是通过调用方法 max()求给定的三个数的最大值,请将其补充完整。 (max(i1,i2,i3) static

33、)public class Class1public static void main( String args )int i1=1234,i2=456,i3=-987;int MaxValue;11MaxValue=_;System.out.println(“三个数的最大值:“+MaxValue);public _ int max(int x,int y,int z) int temp1,max_value;temp1=xy?x:y;max_value=temp1z?temp1:z;return max_value;5.下面是一个类的定义,请将其补充完整。 (class static)_ A

34、 String s;_ int a=666;A(String s1) s=s1; static int geta( ) return a; 6.下面是一个类的定义,请完成程序填空。 (Room int n)public class _ int a, b;Room ( int m, _) / 构造方法a=m; b=n;7. 下面是一个类的定义,请将其补充完整。(class String)_ Teacher String name;int age;Teacher ( _ s, int i)name=s;age=i;8.下面是一个类的定义,请将其补充完整。 (Desk static)class _

35、/ 定义名为 Desk 的类_ int var=666;static int getvar() return var; 9.下面程序的功能是通过调用方法 max()求给定的二个整数的最大值,请将其补充完整。 (max(a1,a2) int)public class Class1public static void main( String args )int a1=1234,a2=456;int MaxValue;MaxValue=_;System.out.println(“二个数的最大值:“+MaxValue);public static _ max(int x,int y) int max

36、_value;max_value =xy?x:y;return max_value;1210.下面是一个类的定义,请将其补充完整。 (class static)_ Bank String s;_ int a=666;Bank(String s1) s=s1; static int geta( ) return a; 三、程序阅读题1.下面是一个类的定义,根据题目要求回答以下问题.class Bprivate int x;private char y;public B(int i,char j)x=i; y=j;public void show()System.out.println(“x=“+

37、x+“; y=“+y);public void methodC(int x)this.x=this.x+x;y+;show();(1)定义类 B 的一个对象 b,将类中的变量 x 初始化为 10、变量 y 初始化为A,请写出相应的语句。(B b=new B(10,A);)(2)若在(1)问基础上有方法调用语句:b.show();则输出如何?(x=10; y=A)(3)若在(1)问基础上增加语句: b.methodC(1); 则输出为何?(x=11; y=B)(x=11; y=B)2.阅读程序,回答问题。public class Test52String static str1=“Hello,

38、Java world! t“;String static str2=“Hello, students! “;public static void main(String args) System.out.print(str1); System.out.println(str2); 问题:1)这是哪种形式的 java 程序 ?(java 应用程序)2)程序的输出是什么?(Hello, Java world! Hello, students! )3. 写出下列程序的输出结果public class Testpublic static void main(String args)Count myCo

39、unt = new Count();int times = 0;13for(int i=0;i=60)System.out.println(“我的姓名是“+name+“ 我的成绩为及格“);elseSystem.out.println(“我的姓名是“+name+“ 我的成绩为不及格“);public class T1_Studentpublic static void main(String args)Student s=new Student();s.sNum=101;s.score=97;s.name=“张三“;System.out.println(s.name+“的学号是“+s.sNum

40、+“成绩是“+s.score);s.printInfo();3、设计一个 Birthday 类,其成员变量有:year,month,day;提供构造方法、输出 Birthday 对象值的方法和计算年龄的方法。编写程序测试这个类。import java.util.Date;public class Birthdayprivate int year;private int month;private int day;public Birthday(int year,int month,int day)this.year=year;this.month=month;this.day=day;publ

41、ic void print()System.out.println(“您的生日是:”+year+” 年”+month+” 月”+day+” 日”);public void age()int age= int age=Calendar.getInstance().get(Calendar.YEAR)-year;System.out.println(“您的年龄是:”+age);public static void main(String args)Birthday b=new Birthday(1980,12,6);b.print();b.age();9、设计一个学生类,其中成员变量应包括:学号,

42、姓名,性别,班级,并提供方法打印学生信息,和计算已经创建学生对象的数目。编写一个程序测试这个类。public class Studentprivate long id;private String name;private char sex;private String banji;private static int count=0;public Student(long id,String name,char sex,String banji)18this.id=id;this.name=name;this.sex=sex;this.banji=banji;count+;public vo

43、id print()System.out.println(“该生信息如下:”);System.out.println(“学号:”+id+” 姓名:”+name+” 性别:”+sex+” 班级:”+banji);public static void count()System.out.println(“已经创建的学生个数为:”+count);public static void main(String args)Student a=new Student(01,“zhangsan”,男,”计专 01 班”);a.print();Student.count();Student b=new Stud

44、ent(03,”刘倩”,女,”计专 03 班 ”);b.print();Student.count();12设计一个关于三角形的类 Trival,其中的属性包括三角形的底 di,三角形的高 gao,方法包括:默认构造方法、为 di 和 gao 指定初值的构造方法、获取三角形面积 findArea()。class Trivaldouble di;double gao;Trival()di=1.0;gao=2.0;Trival(double i,double j)di=i;gao=j;double findArea()return di*gao/2;Applet 小应用程序习题单项选择题1.下列不

45、在 applet 生命周期中的方法是(C) 。A)init B)start C)execute D)stop2.KeyListener 接口中处理键盘事件的处理器不包括(D) 。A)keyPressed B keyReleasd C keyTyped D mouseEntered3.第一次装载或重装 applet 时,都要调用(A)方法。19A)init B)start C)stop D)destroy4.鼠标进入组件时调用的方法是(B) 。)mouseExit B)mouseEntered C)mouseMoved D)mouseReleased5.按下按钮移动鼠标时调用(C)鼠标处理器A)

46、mouseMoued B)mouseReleased C)mouseDragged D)mouseClicked6.下列哪个事件不是所有 GUI 组件都能产生的事件 ( A )A)ActionEvent B)MouseEvent C)KeyEvent D)FocusEvent7.下列哪些事件处理方法不是定义在 MouseListener 中( D )A)mouseEntered B)mousePressed C)mouseClicked D)mouseMoved8. 下列哪些事件处理方法不是定义在 KeyListener 中( A )A)keyClicked B)keyPressed C)keyReleased D)keyPressed9在 Applet 应用程序的生命周期中,以下说法正确的是: (C)A)当打开浏览器窗口时,系统会自动调用 start 方法,在 Applet 应用程序的生命周期中,start 方法可执行多次;B)当激活浏览器窗口时,系统会自动调用 start 方法,在 Applet 应用程序的生命周期中,st

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > Java

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报