《JAVA复习习题继承》由会员分享,可在线阅读,更多相关《JAVA复习习题继承(25页珍藏版)》请在金锄头文库上搜索。
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 e*tends B B) class B implements A C)class A implements B D)class B e*tends A4. 以下选项中,用于定义接口
2、的关键字是( A)。 Ainterface B) implements C) abstract D) class5. 以下选项中,用于实现接口的关键字是( B)。 Ainterface B) implements C) abstract D) class6. Java 语言的类间的继承的关键字是( B )。A) implements B) e*tends C) class D) public7. 以下关于 Java 语言继承的说法错误的选项是( A )。 A)Java 中的类可以有多个直接父类 B)抽象类可以有子类 C)Java 中的接口支持多继承 D)最终类不可以作为其它类的父类8. 现有两
3、个类 M、N,以下描述中表示 N 继承自 M 的是(D)。 A)class M e*tends N B) class N implements M C)class M implements N D)class N e*tends M9. 现有类 A 和接口,以下描述中表示类实现接口的语句是(A)。 A)class implements B B) class B implements C)class e*tends B D)class B e*tends10. 以下选项中,定义抽象类的关键字是( C)。 Ainterface B) implements C) abstract D) class1
4、1. 以下选项中,定义最终类的关键字是(D)。Ainterface B) implements C) abstract D) final12. 以下选项中,哪个是java 语言所有类的父类(C)AString B) Vector C) Object D) KeyEvent13. java 语言中,用于判断*个对象是否是*个类的实例的运算符是AAinstanceof B) + C) isinstance D) &14. 以下选项中, 表示数据或方法可以被同一包中的任何类或它的子类访问, 即使子类在不同的包中也可以的修饰符是BApublic B) protected C) private D) f
5、inal15. 以下选项中,表示数据或方法只能被本类访问的修饰符是CApublic B) protected C) private D) final16. 以下选项中,接口中方法的默认可见性修饰符是(A)Apublic B) protected C) private D) final17. 以下选项中,表示终极方法的修饰符是: BAinterface B) final C) abstract D) implements18. 以下选项中,定义接口MyInterface 的语句正确的选项是: AAinterface MyInterface B) implements MyInterface C)
6、 class MyInterface D) implements interface My 19. 如果子类中的方法mymethod()覆盖了父类中的方法mymethod(),假设父类方法头部定义如下:voidmymethod(int a),则子类方法的定义不合法的是: CA) public void mymethod(int a) B) protected void mymethod(int a)C) private void mymethod(int a) D) void mymethod(int a). z.欢送共阅二、填空题1. 如果子类中的*个变量的变量名与它的父类中的*个变量完全一
7、样,则称子类中的这个变量_了父类的同名变量。 隐藏2. 属性的隐藏是指子类重新定义从父类继承来的_。 同名变量或属性3. 如果子类中的*个方法的名字、返回值类型和_与它的父类中的*个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。参数列表4. Java 仅支持类间的_重继承。单重5. 抽象方法只有方法头,没有_。 方法体6. Java 语言的接口是特殊的类,其中包含_常量和_方法。 static(静态 ; abstract(抽象)7. 接口中所有属性均为_、_和_的。(public、static、final)8. 如果接口中定义了一个方法methodA(),一个属性 attA,则一个类
8、 ClassA 要实现这个接口的话,就必须实现其中的_方法。(methodA()9.一个类如果实现一个接口,则它就必须实现接口中定义的所有方法,否则该类就必须定义成_的。(抽象的)10. 如果子类中的*个方法的名字、 _和参数列表与它的父类中的*个方法完全一样, 则称子类中的这个方法覆盖了父类的同名方法。返回值类型11. Java 仅支持类间的单重继承,接口可以弥补这个缺陷,支持_重继承多重12. 在方法头用 abstract 修饰符进展修饰的方法叫做_方法。 抽象13.Java 语言中用于表示类间继承的关键字是_。 e*tends14. 接口中所有方法均为_和_的。(public、abstr
9、act)15. Java 语言中,表示一个类不能再被继承的关键字是_。 final16. Java 语言中,表示一个类 A 继承自父类 B,并实现接口 C 的语句是_。class A e*tends B implements C 。17. 如果子类中的方法pute()覆盖了父类中的方法pute(), 假设父类的pute()方法头部有可见性修饰符public,则 methodS()的可见性修饰符必须是_。 public三、程序阅读题1.现有类说明如下,请答复以下问题:public class A String str1= Hello! t; String str2= How are you ;
10、public String toString( ) return str1+str2; public class B e*tends A String 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
11、的对象,则 b.toString( )的返回值是什么?(Hello,Bill.)2.现有一个类定义如下,请答复以下问题: class Employee String name; int age; double wage; static int No=0; Employee(String a1,int a2,double a3) name=a1; age=a2; wage=a3; No+; 在使用该类时,已使用下面语句生成了该类的对象:Employee e1,e2;e1=new Employee(王劲,26,6300);e2=new Employee(山,30,3800);问题:1)e2.nam
12、e,e2.age,e2.wage 的值各是什么?(山;30;3800.0)2)生成对象 e1、e2 后,e1.No 值为多少?能否通过类名做前缀引用属性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( )class B e*tends Afloat a=3.0f;String d=Java
13、program.;int b=4;void show( )super.show( );. z.欢送共阅问题: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 d=2.0Class B: a=3.0 d=Java program. b=44.现有类说明如下,请答复以下问题:class A int *=10; int getA()return *;class B e*tends A int
14、*=100; int getB()return *;问题:1)类 B 是否能继承类 A 的属性*?能 2)假设 b 是类 B 的对象,则 b.getB()的返回值是什么?1003)假设 b 是类 B 的对象,则 b.getA()的返回值是什么?104)类 A 和类 B 都定义了*属性,这种现象称为什么?属性的隐藏5.有如下源程序,请答复以下问题:class A String s=class A; class B e*tends A String s=class B; public class TypeConvertpublic static void main(String args)B b1
15、,b2=new B();A a1,a2;a1=(A)b2;a2=b2;b1=(B)a1;问题:该程序的四行输出各是什么class Aclass Aclass Bclass B6.现有类说明如下,请答复以下问题:public class A int *=888; String str=I like: ; public String toString() return str+*; -public class B e*tends A String *=java; public String toString() return str+*+ and +super.*; 问题:1)类 A 和类 B 是
16、什么关系?(类 B 是类 A 的子类) 2)类 A 和类 B 都定义了*属性和方法 toString(),这种现象分别称为什么?属性的隐藏和方法的覆盖 3)假设 a 是类 A 的对象,则 a.toString( )的返回值是什么?(I like: 888)4)假设 b 是类 B 的对象,则 b.toString( )的返回值是什么? (I like: java and 888)7.运行类 C 的输出结果是什么?class Apublic A()The default constructor of A is invoked);class B e*tends Apublic B()public c
17、lass Cpublic static void main(String args)B b = new B();8.阅读以下程序写出输出结果:class A String s=class A; void show() class B e*tends A String s=class B; void show() public class TypeConvertpublic static void main(String args)B b1;B b2=new B();. z.欢送共阅A a1,a2;a1=(A)b2;a2=b2; a1.show(); a2.show();b1=(B)a1;);
18、b1.show(); b2.show();答案:class Aclass Bclass Aclass Bclass Bclass Bclass Bclass B四、程序填空题1.下面是一个类的定义,完成程序填空。 Youwrite this.*=*;public class Youwriteint *;_( ) *=0; Youwrite ( int *) _; 2.下面是定义一个接口 ITF 的程序,完成程序填空。interface abstractpublic _ ITF public static final double PI=Math.PI;public _ double area(
19、double a, double b);3.下面是定义一个接口 A 的程序,完成程序填空。 final; public interface A public static _ double PI=3.14159; public abstract double area(double a, double b)_五、编程题简单类的继承:1.定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性,和计算体积的方法。-编写一个测试类,对以上两个类进展测试,创立一个长方体,定义其长、宽、高,输出其底面积和体积。public cla
20、ss TestE*tendspublic static void main(String args)LiFangTi f=new LiFangTi();f.length=2;f.width=3;f.height=7;class Ju*ingint length;int width;int findArea()return length*width;class LiFangTi e*tends Ju*ingint height;int findVolume()return findArea()*height;. z.欢送共阅3. 定义一个 Person 类, 它包括的属性有和性别, 为 Pers
21、on 类派生出一个子类 Student 类,为 Student 子类添加两个属性年龄和成绩等级用 A,B,C,D,E 表示,在子类中打印出学生的、性别、年龄及成绩等级。class Personclass Student e*tends Personprotected int age;protected char grade;Student(String name,String se*,int age,char grade)super(name,se*);this.age=age;this.grade=grade;protected String name;protected String se
22、*;Person(String name,String se*)public String toString()String s=new String();s=name+t+se*;return s;this.name=name;this.se*=se*;-void print()String s=new String();s=super.toString();s=s+t+age+t+grade;public class TestPpublic static void main(String args)Student st1=new Student(zhangfei,male,23,E);St
23、udent st2=new Student(liubei,male,25,A);de);4.定义一个类 Rectangle 代表矩形,其中包括计算面积的方法。再定义一个它的子类 Square 代表正方形,其中也包含计算面积的方法。编写一程序,测试新建子类对象的属性和方法。class Rectanglefloat length;float width;Rectangle(float len,float wh)length=len;. z.st1.print();st2.print();欢送共阅class Square e*tends Rectanglepublic class TestRecta
24、ngle类与对象习题类与对象习题一、选择题1 定义类头时,不可能用到的关键字是( B)。width=wh;float getArea()return length*width;float length;Square(float len)float getArea()return super.getArea();super(len,len);length=len;public static void main(String args)Square sq=new Square(5.2f);-A) class B)private C)e*tends D)public2.以下类定义中,不正确的选项是(
25、C)。A) class * . B) class * e*tends y . C) static class * implements y1,y2 . D) public class * e*tends Applet . 3.以下类头定义中,错误的选项是( A)。A)public * e*tends y . B) public class * e*tends y .C)class * e*tends y implements y1 .D)class * .4.设 A 为已定义的类名,以下声明A 类的对象 a 的语句中正确的选项是( D)。 A) float A a; B) public A a
26、=A(); C) A a=new 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.设 * 、Y 均为已定义的类名,以下声明类*的对象*1 的语句中正确的选项是(C)。 A) public * *1= new Y( ); B) * *1= * ( ); C) * *1=new *( ); D) int * *1;7. 设* 、Y 为已定义的类名,以下声明*类
27、的对象*1 的语句中正确的选项是(A)。 A) static*1; B) public* *1=new *(int 123); C) Y*1; D) * *1= *( );8.通过类 MyClass 中的不含参数的构造方法,生成该类的一个对象 obj,可通过以下语句实现:_。MyClass obj=new MyClass( );9. 设 i,j 为类*中定义的 int 型变量名,以下*类的构造方法中不正确的选项是( A)。A) void *(int k ) i=k; B) *(int k ) i=k; C) *(int m, int n ) i=m; j=n; D) *( )i=0;j=0;
28、10. 有一个类 A,以下为其构造方法的声明,其中正确的选项是( A )。 A)public A(int *). B)static A(int *). C)public a(int *). D)void A(int *).11. 有一个类 A,以下为其构造方法的声明,其中正确的选项是( B )。 A)void A(int *). B)A(int *). C)a(int *). D)void a(int *).12. 设 i、j、k 为类*中定义的 int 型变量名,以下类*的构造方法中不正确的选项是( B )。 A) *( int m) . B) void *( int m) . C) *(
29、int m,intn) . D) *( int h,int m,int n) . 13. 设 i,j 为类*中定义的 double 型变量名,以下*类的构造方法中不正确的选项是(A )。A) double *(double k ) i=k; return i; C) *( )i=6;j=8; B) *(double m, double n ) i=m; j=n; D) *(double k ) i=k; 14. 设 a,b 为类 MyClass 中定义的 int 型变量名,以下 MyClass 类的构造方法中不正确的选项是(A)。double MyClass(double k ) a=k; r
30、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)e*tends D)public16.以下类头定义中,错误的选项是(A)。A)public TestClass e*tends y . B) public class TestClass e*tends y .C)class TestClass e*tends y implements y1 .class TestCla
31、ss . z.欢送共阅17.设 B 为已定义的类名,以下声明B 类的对象 b 的语句中正确的选项是(D)。 A) float Bb; 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;19.设 A、B 均为已定义的
32、类名,以下声明类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
33、=new A( );22. 设 m,n 为类 A 中定义的 int 型变量名,以下 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 *). B)static Person (int *). C)public a(int *). D)void Person (int *).24. 有一个类 Student,
34、以下为其构造方法的声明,其中正确的选项是( B )。 A)void Student (int *). B) Student (int *). C)s(int *). D)void s(int *).25. 设 i、j、k 为类 School 中定义的 int 型变量名,以下类 School 的构造方法中不正确的选项是( B )。 A) School ( int m) . B) void School ( int m) . C) School ( int m,intn) . D) School ( int h,int m,int n) . 二、填空题1.下面是一个类的定义,请完成程序填空。 My
35、class int jpublic class _ int *, y; Myclass ( int i, _) / 构造方法 *=i; y=j; 2. 下面是一个类的定义,请将其补充完整。(Student String)class _String name;int age;Student( _ s,int i) name=s; age=i; 3.下面是一个类的定义,请将其补充完整。 myclass staticclass _ / 定义名为 myclass 的类 _ int var=666;- static int getvar() return var; 4.下面程序的功能是通过调用方法ma*
36、求给定的三个数的最大值,请将其补充完整。 ma*i1,i2,i3 staticpublic class Class1 public static void main( String args ) int i1=1234,i2=456,i3=-987; int Ma*Value; Ma*Value=_;三个数的最大值:+Ma*Value); public _ int ma*(int *,int y,int z) int temp1,ma*_value; temp1=*y*:y; ma*_value=temp1ztemp1:z; return ma*_value; 5.下面是一个类的定义,请将其补
37、充完整。 class static_ A String s; _ int a=666; A(String s1) s=s1; static int geta( ) return a; 6.下面是一个类的定义,请完成程序填空。 Room int npublic class _ int a, b;Room ( int m, _) / 构造方法 a=m; b=n; 7. 下面是一个类的定义,请将其补充完整。(class String)_ TeacherString name;int age;Teacher ( _ s,int i) name=s; age=i; 8.下面是一个类的定义,请将其补充完整
38、。 Desk staticclass _ / 定义名为 Desk 的类 _ int var=666; static int getvar(). z.欢送共阅 return var; 9.下面程序的功能是通过调用方法ma*求给定的二个整数的最大值,请将其补充完整。 ma*a1,a2 intpublic class Class1 public static void main( String args ) int a1=1234,a2=456; int Ma*Value; Ma*Value=_;二个数的最大值:+Ma*Value); public static _ ma*(int *,int y)
39、 int ma*_value; ma*_value =*y*:y; return ma*_value; 10.下面是一个类的定义,请将其补充完整。 class static_ Bank String s; _ int a=666;Bank(String s1) s=s1; static int geta( ) return a; 三、程序阅读题1.下面是一个类的定义,根据题目要求答复以下问题.class Bprivate int *;private chary;public B(int i,char j)*=i; y=j;public void show()+; y=+y);public vo
40、id methodC(int *)this.*=this.*+*; y+;show();(1)定义类 B 的一个对象 b,将类中的变量*初始化为 10、变量y 初始化为A,请写出相应的语句。B(10,A);)(2)假设在(1)问根底上有方法调用语句:b.show();则输出如何?*=10; y=A(B b=new-(3)假设在(1)问根底上增加语句: b.methodC(1); 则输出为何?(*=11; y=B)*=11; y=B2.阅读程序,答复以下问题。 public class Test52 String static str1=Hello, Java world! t; String
41、static str2=Hello, students! ; public static void main(String args) 问题:1)这是哪种形式的 java 程序?java 应用程序 2)程序的输出是什么?Hello, Java world!Hello, students!3. 写出以下程序的输出结果public class Testpublic static void main(String args)Count myCount = new Count();int times = 0;for(int i=0;i100;i+)increment(myCount , times);
42、count is + myCount.count);time is+ times);public static void increment(Count c , int times)c.count+;times+;class Countpublic int count;Count(int c)count =c;Count()count =1;答案:count 101times 04.写出以下程序的输出结果:public class Testpublic static void main(String args)Cirecle circle1 = new Circle(1);Cirecle ci
43、rcle2 = new Circle(2);/ Attempt to swap circle 1 with circle2. z.欢送共阅Before swap:circle1 = +circle1.radius+circle2 = +circle2.radius);swap(circle1,circle2);After swap: circle1 = +circle1.radius+circle2 = +circle2.radius);public static void swap(Circle * , Circle y)Before swap: * = +*.radius+y = +y.r
44、adius);Circle temp = *;* = y;y = temp;Before swap: * = +*.radius+y = +y.radius);答案:5.阅读下面程序,答复以下问题:public class Fooint i;static String s;void imethod()static void smethod()设 f 是 Foo 的一个实例,以下语句正确吗?f.imethod();f.smethod();Foo.imethod();Foo.smethod();答案:答案:正确答案:正确f.imethod();答案:正确f.smethod();答案:正确答案:错误
45、答案:正确Foo.imethod();答案:错误Foo.smethod();答案:正确6.以下程序的输出结果是什么?public class Foostatic int i=0;-static int j=0;public static void main(String args)int i=2;int k=3;int j=3;i + j is + i + j);k = i +j;k is +k);j is + j);答案:i + j is 23k is 2j is 07. 根据下面的程序,指出下面每个元素的作用域类作用域或块作用域变量*变量 y方法 cude变量 i变量 yPospublic
46、 class CubeTestint *;public void print()int yPos = 10;for(*=1;*=10;*+) for(int i=1;i=60)elsepublic class T1_Studentpublic static void main(String args)-Student s=new Student();s.sNum=101;s.score=97;s.name=三;s.printInfo();3、设计一个 Birthday 类,其成员变量有:year,month,day;提供构造方法、输出 Birthday 对象值的方法和计算年龄的方法。编写程序测
47、试这个类。public class Birthday private 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;public void print()您的生日是:+year+ 年+month+ 月+day+ 日);public void age() int age= int age=Calendar.getInstance().get(Calendar.YEAR)-y
48、ear;您的年龄是:+age);public static void main(String args) Birthday b=new Birthday(1980,12,6); b.print(); b.age();9、设计一个学生类,其中成员变量应包括: *, ,性别,班级,并提供方法打印学生信息,和计算已经创立学生对象的数目。编写一个程序测试这个类。public class Student private long id; private String name; private char se*; private String banji; private static int coun
49、t=0; public Student(long id,String name,char se*,String banji) this.id=id; this.name=name; this.se*=se*; this.banji=banji; count+;. z.欢送共阅public void print()该生信息如下:);*:+id+ :+name+ 性别:+se*+ 班级:+banji);public static void count()已经创立的学生个数为:+count); public static void main(String args) Student a=new St
50、udent(01,zhangsan,男,计专 01 班); a.print(); Student.count(); Student b=new Student(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
51、 j)di=i;gao=j;double findArea()return di*gao/2;AppletApplet 小应用程序习题小应用程序习题单项选择题1.以下不在 applet 生命周期中的方法是C 。 Ainit Bstart Ce*ecute Dstop2.KeyListener 接口中处理键盘事件的处理器不包括D 。 AkeyPressed B keyReleasd C keyTyped D mouseEntered3.第一次装载或重装 applet 时,都要调用A方法。 Ainit Bstart Cstop Ddestroy4.鼠标进入组件时调用的方法是B 。mouseE*it
52、 BmouseEntered CmouseMoved DmouseReleased5.按下按钮移动鼠标时调用C鼠标处理器- AmouseMoued BmouseReleased CmouseDragged DmouseClicked6.以下哪个事件不是所有GUI 组件都能产生的事件 AAActionEvent BMouseEvent CKeyEvent DFocusEvent7.以下哪些事件处理方法不是定义在MouseListener 中 DAmouseEntered BmousePressed CmouseClicked DmouseMoved8. 以下哪些事件处理方法不是定义在KeyLis
53、tener 中 AAkeyClicked BkeyPressed CkeyReleased DkeyPressed9在 Applet 应用程序的生命周期中,以下说确的是: (C)A当翻开浏览器窗口时,系统会自动调用start 方法,在Applet 应用程序的生命周期中,start 方法可执行屡次;B当激活浏览器窗口时,系统会自动调用start 方法,在Applet 应用程序的生命周期中,start 方法只可执行一次;C当翻开浏览器窗口时,系统会自动调用init 方法,在Applet 应用程序的生命周期中,init 方法只可执行一次;D当激活浏览器窗口时, 系统会自动调用 init 方法,在 A
54、pplet 应用程序的生命周期中, init 方法可执行屡次。10.如果重写了 Applet 的 paint 方法,在以下何种情况中,会自动调用paint 方法绘图。 (D)A当浏览器运行时B当 Applet 容被覆盖后又重新显示时C在执行 repaint 方法重新绘图时D包括以上三种情况11.在浏览器中执行 applet 程序,以下选项中的哪个方法将被最后执行 C 。Ainit()Bstart()Cdestroy() Dstop()12.在编写 Java Applet 程序时,需要在程序的开头写上( B )语句。Aimport java.awt.* ; Bimport java.applet
55、.* ;Cimport java.io.* ; Dimport java.awt.event.* ;填空题使用 MouseListener 接口监听鼠标按下、松开、进入、退出和点击等行为。使用 MouseMotionListener接口监听鼠标的移动和拖动等行为。默认情况下,JApplet 的容窗格使用 BorderLayout 布局管理器4.在 applet 程序的生命周期中,浏览器通过调用_init_、_start_、_stop_和 destroy_方法来控制applet 程序。5.Applet 的_init_方法在开场时只执行一次,_start_方法在用户每次访问包含 Applet 的H
56、TML 文件时都被调用,_paint_方法可以用来在其中画图, _stop_方法在用户离开 Applet 所在的 HTML 页面时被调用。6.applet 小程序需要继承_Applet/JApplet_类7.在显示或者重新显示 applet 小程序时,会调用_paint_方法8.JApplet 容窗格的缺省布局管理器是_BorderLayout_9.在网页中嵌入 applet 小程序的标记是_ _判断题Te*tField 和 Te*tArea 是用来承受用户输入的组件,但是也可以由程序控制使用户不能在其中输入信息。用 hide()或 setVisible(false)方法可以使组件隐藏不可见,
57、但是一旦隐藏便不能恢复显示。一个 Button 对象,可以调用方法 getLabel()获取其上的标签,从而判断是哪个按钮;Label 也使用一样的方法。所有的鼠标事件都由 MouseEvent 类的对象表示。所有的鼠标事件都由实现了MouseListener 监听接口的监听者来处理。使用 BorderLayout 的容器最多只能放置 5 个组件,如果要放置更多的组件,则需要使用多层容器。7.使用 GridLayout 布局策略的容器中,所有的组件都有一样大小。8.一般情况下,applet 都可以转化成 application。9.在 applet 生存周期中 stop 方法总是在 destr
58、oy 方法之后执行。答案:对错,可以恢复后半句错对. z.欢送共阅错,鼠标移动和拖动事件由实现了MouseMotionListener监听接口的监听者来处理对对对错异常处理习题异常处理习题二、选择题1.以下异常处理语句编写正确的选项是:()catch(E*ception e)catch(E*ception e)三、程序阅读题1.阅读下面程序答复以下问题:import java.io.*;public class Class1public static void main(String args)int a=5;int b=0;trycatch(ArithmeticE*ception e)fin
59、allyfinally 被执行!); 1运行上述程序,输出结果是什么?异常提示信息除外答案:除提示异常提示信息外,无其他输出2将变量 b 的初值改成 5 后,输出结果是什么?答案:1a=51a*a=25finally 被执行!异常已发生,但不影响程序的执行!图形化设计图形化设计填空题Java 的 Swing 包中定义框架的类是_.JFrameJava 的 Swing 包中定义面板的类是_JPanel _Java 的 Swing 包中定义按钮的类是_utton _Java 的 Swing 包中定义文本域的类是_JTe*tFieldJava 的 Swing 包中定义标签的类是_JLabelJava
60、 的 Swing 包中定义组合框的类是_oBo*Java 的 Swing 包中定义菜单条的类是_JMenuBarJava 的 Swing 包中定义菜单的类是_JMenuJava 的 Swing 包中定义菜单项的类是_JMenuItemJava 的 Swing 包中定义选项卡的类是_JTabbedPane-Color 类定义在_ java.awt _包中。ActionEvent 事件的监听接口是_ActionListener_,注册方法名是_addActionListener_,事件处理方法名是_actionPerformed_WindowEvent 事件的监听接口是_WindowListene
61、r_,注册方法名是_addWindowListener_设置容器布局管理器的方法是_setLayout_显示 JFrame 框架的方法名是_setVisible_设置 JFrame 框架标题的方法名是_setTitle_设置 JFrame 框架大小的方法名是_setSize_重画面板的方法名是_repaint_20.AWT 的用户界面组件库被更稳定、通用、灵活的库取代,该库称为Swing 组件库。21.不依赖本地 GUI 的 Swing 组件称为轻型组件,AWT 组件称为重型组件。22.图形类可以分为三组:容器类、组件类和辅助类。25.FlowLayout 布局方式默认的对齐方式是居中,默认的
62、水平间距和垂直间距都是5 个像素。单项选择题下面属于容器类的是 A 。 A Jframe B Jte*tField C Color D Jmenu2. FlowLayout 的布局策略是 A A按添加的顺序由左至右将组件排列在容器中。 B按设定的行数和列数以网格的形式排列组件。 C将窗口划分成五局部,在这五个区域中添加组件。 D组件相互叠加排列在容器中。3. BorderLayout 的布局策略是 C A按添加的顺序由左至右将组件排列在容器中。 B按设定的行数和列数以网格的形式排列组件。 C将窗口划分成五局部,在这五个区域中添加组件。 D组件相互叠加排列在容器中。4. GridLayout 的
63、布局策略是 B A按添加的顺序由左至右将组件排列在容器中。 B按设定的行数和列数以网格的形式排列组件。 C将窗口划分成五局部,在这五个区域中添加组件。 D组件相互叠加排列在容器中。5. JFrame 中容窗格缺省的布局管理器是 BAFlowLayout BBorderLayout CGridLayout DCardLayout6. JPanel 缺省的布局管理器是 A AFlowLayout BBorderLayout CGridLayout DCardLayout判断题AWT 事件最初是为 AWT 组件设计的,但是许多Swing 组件都可以触发它们。FlowLayout 是 Jframe 容
64、窗格默认的布局管理器。Java 使用事件委托处理模型来处理事件。源对象和监听对象可以是同一个对象。Graphics 类是在不同的平台上显示图形和图像的一个具体类。答案:1. 对2. 错3. 对4. 错三、编程题:掌握:(1)面板和面板布局。 (2)使用框架及布局1.创立一个图形化界面,模拟教师中讲台和座位的分布。讲台放置在教师的最上端,学生座位按行、列分布。指定学生座位按7 行 5 列的布局分布。如下图:考察知识点:定义框架和面板,分别采用布局管理器进展布局,添加按钮组件答案:public class Test e*tends JFrame. z.欢送共阅public Test()Contai
65、ner c=this.getContentPane();c.add(new utton(讲台),BorderLayout.NORTH);JPanel p=new JPanel();p.setLayout(new GridLayout(7,5);for(int i=0;i35;i+)p.add(new utton(座位+i);this.getContentPane().add(p,BorderLayout.CENTER);public static void main(String args)Test myFrame=new Test();myFrame.setSize(700,700);myF
66、rame.setVisible(true);myFrame.setDefaultCloseOperation(JFrame.E*IT_ON_CLOSE);2请编写一个 Application,其功能为:在其图形窗口按右对齐方式摆放三个按钮,三个按钮的标题分别显示为:Button 1” ,Button 2” ,Button 3” 。考察知识点:FlowLayout 布局管理器的使用mport java.awt.*;import java*.swing.*;class MyFrame e*tends JFramepublic MyFrame()Container container = this.
67、getContentPane();container.setLayout(new FlowLayout(FlowLayout.RIGHT);container.add(new utton(Button 1);container.add(new utton(Button 2);container.add(new utton(Button 3);public static void main(String args)MyFrame myFrame = new MyFrame();myFrame.setTitle(Show);myFrame.setDefaultCloseOperation(JFra
68、me.E*IT_ON_CLOSE);myFrame.setSize(200,200);myFrame.setVisible(true);3请编写一个 Application,其功能为:在其框架的容网格上安排两个按钮,分别命名为East, West,容网格的布局为 BorderLayout 布局,并将两个按钮放置在容网格的东部区域和西部区域。考察知识点:BorderLayout 布局管理器的使用方法import java.awt.*;import java*.swing.*;class MyFrame e*tends JFramepublic MyFrame()Container contain
69、er = this.getContentPane();-container.setLayout(new BorderLayout();container.add(new Button(west),BorderLayout.WEST);container.add(new Button(east),BorderLayout.EAST);public static void main(String args)MyFrame myFrame = new MyFrame();myFrame.setTitle(Show);myFrame.setDefaultCloseOperation(JFrame.E*IT_ON_CLOSE);myFrame.setSize(200,200);myFrame.setVisible(true);. z.