Java程序设计习题附答案(三)
第三部分面向对象程序设计1、引用数据类型变量具有基本属性为(ABCD)A、变量名B、数据类型C、存储单元D、变量值。
2、面向对象技术的特性是(ACD)A、继承性B、有效性C、多态性D、封装性。
3、下列哪个命题为真?(C)A、所有类都必须定义一个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的非静态成员。
D、构造函数必须初始化类的所有数据成员。
4、关于子类与父类关系的描述正确的是(ACD)A、子类型的数据可以隐式转换为其父类型的数据;B、父类型的数据可以隐式转换为其子类型的数据;C、父类型的数据必须通过显示类型转换为其子类型的数据;D、子类型实例也是父类型的实例对象。
5、下列哪一项说法最好地描述了Java中的对象?(C)A、对象是通过import命令引入到程序中的所有事情B、对象是方法的集合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或者计算和返回值C、对象是一种数据结构,它具有操作数据的方法D、对象是一组具有共同的结构和行为的类6、下面哪个关键字不是用来控制对类成员的访问的?(C)A、publicB、protectedC、defaultD、private7、Java语言正确的常量修饰符应该是(D)A、finalB、static finalC、staticD、public static final;8、接口的所有成员域都具有public 、static和final 属性。
9、接口的所有成员方法都具有public 和abstract 属性。
10、编译下列源程序会得到哪些文件?(C)class A1{}class A2{}public class B{public static void main(String args[]){}}A) 只有B.classB)只有A1.class和A2.class文件C)有A1.class、A2.class和B.class文件D) 编译不成功11、下列哪种说法是正确的?(A)A、私有方法不能被子类覆盖。
B、子类可以覆盖超类中的任何方法。
C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。
D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。
12、关于类继承的说法,正确的是(B)。
A、Java 类允许多重继承B、Java接口允许多继承C、接口和类都允许多继承D、接口和类都不允许多继承13、使用以下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D)A)abstract B)privateC)protected D)不使用保留字14、为了区分重载多态中同名的不同方法,要求(A)。
A. 采用不同的参数列表B. 返回值类型不同C. 调用时用类名或对象名做前缀D. 参数名不同15、下述概念中不属于面向对象方法的是(D)。
A.对象、消息B.继承、多态C.类、封装D.过程调用16、下列关于构造方法的叙述中,错误的是(C)A.Java语言规定构造方法名与类名必须相同B.Java语言规定构造方法没有返回值,但不用void声明C.Java语言规定构造方法不可以重载D.Java语言规定构造方法只能通过new自动调用17、如果str表示一个String对象“73”,那么以下哪些表达式将会把这个字符串转换为int 值73?请选出正确答案。
(C)A)Integer.getInt(str)B)((int) str)C)(new Integer(str)).intValue()D)Integer.intValue(str)18、下列哪个类的声明是正确的?(D)A.abstract final class HI{} B.abstract private move(){} C.protected private number; D.public abstract class Car{}19、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C)A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问20、在Java中,关于final关键字的说法正确的是(AD)。
A、如果修饰变量,则一旦赋了值,就等同一个常量。
B、如果修饰类,则该类只能被一个子类继承。
C、如果修饰方法,则该方法不能在子类中被覆盖。
D、如果修饰方法,则该方法所在的类不能被继承。
21、在Java中,下面关于包的陈述中正确的是(AD)。
A、包的声明必须是源文件的第一句代码。
B、包的声明必须紧跟在import语句的后面。
C、只有公共类才能放在包中。
D、可以将多个源文件中的类放在同一个包中。
22、下面有关私有变量和私有方法的声明,哪些叙述是对的?(AD)A、用关键字private修饰的成员变量和方法,称为私有变量和私有方法。
B、用关键字protected修饰的成员变量和方法,称为私有变量和私有方法。
C、用关键字public修饰的成员变量和方法,称为私有变量和私有方法。
D、私有变量不能通过对象直接访问,只有在本类中创建的自己对象,才能访问自己的私有变量。
23、下面有关变量及其作用域的陈述哪些是对的?(ABC)A、在方法里面定义的局部变量在方法退出的时候被撤销。
B、局部变量只在定义它的方法内有效。
C、在方法外面定义的变量(即实例变量)在对象被构造时创建。
D、在方法中定义的方法的参变量只要该对象被需要就一直存在。
24、下面关于继承的叙述哪些是正确的?(AD)A、在java中只允许单一继承。
B、在java中一个类只能实现一个接口。
C、在java中一个类不能同时继承一个类和实现一个接口。
D、java的单一继承使代码更可靠。
25、以下声明合法的是(B)A.default String s;B.public final static native int w( )C.abstract double d;D.abstract final double hyperbolicCosine( ) 26、类Test1定义如下:1.public class Test1{2.public float aMethod(float a,float b){ }3.4.}将以下哪种方法插入行3是不合法的。
(B)A、public float aMethod(float a,float b,float c){ }B、public float aMethod(float c,float d){ }C、public int aMethod(int a,int b){ }D、private float aMethod(int a,int b,int c){ }27、下面是Example.java文件的完整代码,请找出会产生编译错误的行(C)。
1) class BaseClass {2) public String str;3) public BaseClass(){4) System.out.println(“ok”);}5) public BaseClass(String s){6) str=s;}}7) class SubClass extends BaseClass{8) }9) public class Example{10) public void method(){11) SubClass s=new SubClass(“hello”);12) BaseClass b=new BaseClass(“world”);13) }14) }A、7B、10C、11D、1228、下面关于类的说法错误的是(B)。
A、类是Java语言中的一种复合数据类型。
B、Java语言的类支持单继承和多继承。
C、类是对所有具有一定共性的对象的抽象。
D、类中包含数据变量和方法。
29、下列关于变量的叙述哪个是错的?(C)A、实例变量是类的成员变量。
B、在方法中定义的局部变量在该方法被执行时创建。
C、实例变量用关键字static声明。
D、局部变量在使用前必须被初始化。
30、已知A类被打包在packageA , B类被打包在packageB ,且B类被声明为public ,且有一个成员变量x被声明为protected控制方式。
C类也位于packageA包,且继承了B类。
则以下说法正确的是(C)。
A、A类的实例不能访问到B类的实例B、A类的实例能够访问到B类一个实例的x成员C、C类的实例可以访问到B类一个实例的x成员D、C类的实例不能访问到B类的实例31、下面关于Java语言中实例方法和类方法的说法,哪几项是对的?(BC)A、实例方法可以直接通过类名调用B、类方法可以直接通过类名调用。
C、实例方法可以操作实例变量也可以操作类变量。
D、类方法可以操作实例变量也可以操作类变量。
32、下面叙述哪些是正确的?(ABC)A、java中的集合类(如Vector)可以用来存储任何类型的对象,且大小可以自动调整。
但需要事先知道所存储对象的类型,才能正常使用。
B、在java中,可以用异常(Exception)来抛出一些并非错误的消息,但这样比直接从函数返回一个结果要花费更大的系统开销。
C、java接口包含函数声明和常量声明。
D、java中,子类不可以访问父类的私有成员和受保护的成员。
33、下列说法正确的是(A)。
A. final 可修饰类、属性、方法B. abstract可修饰类、属性、方法C. 定义抽象方法需有方法的返回类型、名称、参数列表和方法体D. 用final修饰的变量,在程序中可对这个变量的值进行更改34、Java语言的类间的继承关系是(B)。
A. 多重的B. 单重的C. 线程的D. 不能继承35、下列有关子类继承父类构造函数的描述正确的是(C)。
A. 创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数B. 子类无条件地继承父类不含参数的构造函数C. 子类必须通过super关键字调用父类的构造函数D. 子类无法继承父类的构造函数。
《JAVA语言程序的设计》期末考试题与答案3
《JAVA语言程序设计》期末考试试题及答案3一、单项选择题1、如下哪个是Java中的标识符()A、publicB、superC、3numberD、width2、如下哪个是Java中的标识符( )A、fieldnameB、superC、3numberD、#number3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( )A、s += "books";B、s = s + 100;C、int len = s.length;D、String t = s + “abc”;4、如下哪个是Java中有效的关键字()A、nameB、helloC、falseD、good5、下面的代码段执行之后count的值是什么( )int count = 1;for (int i = 1; i <= 5; i++) {count += i;}System.out.println(count);A、5B、1C、15D、166、定义一个类,必须使用的关键字是( )A、publicB、classC、interfaceD、static7、定义一个接口必须使用的关键字是()A、publicB、classC、interfaceD、static8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()A、p.add(b);B、p.add(b,"North");C、p.add(b,"South");D、b.add(p,"North");9、声明并创建一个按钮对象b,应该使用的语句是()A、Button b=new Button();B、button b=new button();C、Button b=new b();D、b.setLabel(“确定”);10、Frame对象默认的布局管理器是()A、FlowLayoutB、BorderLayoutC、CardLayoutD、null11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象()A、import java.sql.*;B、import java.util.*;C、import java.io.*;D、import .*;12、下面哪一个import命令可以为我们提供编写网络应用程序的类()A、import java.sql.*;B、import java.util.*;C、import java.io.*;D、import .*;13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()A、FileInputStreamB、FileOutputStreamC、DataOutputStreamD、FileWriter二、填空题1、如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。
java 试题练习题(第3套)
大学 —— 学年第 学期 《 Java 程序设计 》课程试题 课程号: √ 考试 □ A 卷 √ 闭卷 □ 考查 □ B 卷 □ 开卷一、单项选择题(20题;每题2分,共40分) 1 、Java 程序的执行过程中用到一套JDK 工具,其中javac.exe 是指( ) A)Java 文档生成器 B)Java 解释器 C)Java 编译器 D)Java 类分解器 (难度系数 C ) 答案C 知识点:JDK 工具 2、HelloWorld.java 编译成功后会在当前目录中生成一个什么文件___。
A)Hello.java B)HelloWorld.class C)Helloworld.class D)helloWorld.class (难度系数C )答案:B 知识点:JA V A 执行过程 3、main 方法是Java Application 程序执行的入口点,关于main 方法的方法头以下哪项是合法的( )? A)public static void main ( ) B)public static void main ( String[] args ) C)public static int main (String [] arg ) D)public void main (String[] arg ) 难度系数:C 答案:B 知识点:JAVA 程序结构4、以下语句正确的是___。
A) x+1=6; B) i++=1; C) a++b=9; D) x+=1;(难度系数B )答案:D 知识点:表达式5、以下结果为真(true)的是___。
A )10>’a’B )’a’>20C ) !trueD )(3<5) && (4>10)班级:姓名: 学号:试题共页加白纸张密封线(难度系数B)答案:B知识点:表达式6、如果一个线程调用了方法wait( ),则类ng.Thread的下列_______方法可以唤醒该线程。
Java语言程序设计(一)模拟试卷(03)及答案
Java语言程序设计(一)模拟试卷(三)及答案一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.如果发生多个线程形成一个等待环,这样,所有线程都陷入相互等待的状态。
这种循环等待现象称为() (1分)A:互斥B:同步C:死锁D:临界2.下面有关临界段叙述错误的是() (1分)A:多线程互斥使用共享资源的程序段被称为临界段B:临界段是一种加锁机制,与多线程共享资源有关C:临界段的作用是在任何时该一个共享资源只能供一个线程使用D:如果一个线程已进入某个共享资源的临界段,且还没有使用结束,其他进程可抢占这个共享的资源3.以下程序代码的输出结果是()int x=100;System.out.println("5.5"+x%8); (1分)A:5.512B:5.512.5C:18D:5.544.在Java程序中有代码如下:System.out.println((new StringTokenizer("I am a student","a")).countTokens());则输出结果为() (1分)A:I am a studentB:2C:3D:45.为8位字节流数据提供读操作支持的类是() (1分)A:FileInputStreamB:FileOutputStremC:FileReaderD:FileWriter6.下列有关抽象类及抽象方法的叙述错误的是() (1分)A:使用final修饰的类是抽象类B:使用abstract修饰的方法是抽象方法C:抽象类必须被继承才能使用,抽象类不可能有实例D:抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类7.在编写Java程序访问数据库的过程中,用来处理驱动程序的加载和建立新数据库连接的类是() (1分)A:DriverManager类B:Statement类C:Connection类D:ResultSet类8.在Java语言中执行如下语句后,i和j的值分别为()int i=10;int j=++i; (1分)A:11和11B:10和10C:10和11D:11和109.包含当事件发生时从源传递给监视器的特定事件信息的对象是() (1分)A:事件对象B:源对象C:监视器对象D:接口10.在Java程序中有如下设置:setBackground(Color.blue);g.setXORMode(Color.red);g.setColor(Color.blue);g.drawLine(300,300,500,500);则线的颜色是() (1分)A:蓝色B:红色C:黄色D:绿色二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
2020电子科技大学Java程序设计作业3
(A) this
(B) super
(C) new
(D) 以上都不是
[参考答案:B] 分值:5
2. 使用下列哪些关键字可以判定实参的具体类型?
(A) as
(B) extends
(C) instanceof
(D) is
[参考答案:C] 分值:5
3. 下列有关类、对象和实例的叙述,正确的是哪一项?
(A) 类是对象的抽象,对象是类的具体化,实例是类的另一个名称
(B) 对象是类的抽象,类是对象的具体化,实例是对象的另一个名称
(C) 类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别
(D) 类是对象的抽象,对象是类的具体化,实例是对象的另一个名称
(D) AppletContext
[参考答案:A] 分值:5
11. 当多个对象被添加作为同一个事件的监听器,那么当事件触发的时候哪个监听器对象被首先调用?
(A) 第一个被添加的监听器对象
(B) 最后一个被添加的监听器对象
(C) 为同一个事件添加多个监听器是无法做到的
(D) 无法确定哪个监听器对象被首先调用
(A) 第1行
(B) 第4行
(C) 第5行
(D) 第3行
[参考答案:C] 分值:5
20. JDK没有包含以下哪个内容?
(A) Java编程语言
(B) Java平台虚拟机
(C) 工具及工具的API
(D) Ja包含JDK,JDK中包含JVM
(C) JDK中包含JRE,JRE中包含JVM
(D) JDK中包含JRE,JVM中包含JRE
[参考答案:C] 分值:5
10. 哪一种类的对象中包含有Internet地址。
Java程序设计习题附答案(三)
第三部分面向对象程序设计1、引用数据类型变量具有基本属性为(ABCD)A、变量名B、数据类型C、存储单元D、变量值。
2、面向对象技术的特性是(ACD)A、继承性B、有效性C、多态性D、封装性。
3、下列哪个命题为真?(C)A、所有类都必须定义一个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的非静态成员。
D、构造函数必须初始化类的所有数据成员。
4、关于子类与父类关系的描述正确的是(ACD)A、子类型的数据可以隐式转换为其父类型的数据;B、父类型的数据可以隐式转换为其子类型的数据;C、父类型的数据必须通过显示类型转换为其子类型的数据;D、子类型实例也是父类型的实例对象。
5、下列哪一项说法最好地描述了Java中的对象?(C)A、对象是通过import命令引入到程序中的所有事情B、对象是方法的集合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或者计算和返回值C、对象是一种数据结构,它具有操作数据的方法D、对象是一组具有共同的结构和行为的类6、下面哪个关键字不是用来控制对类成员的访问的?(C)A、publicB、protectedC、defaultD、private7、Java语言正确的常量修饰符应该是(D)A、finalB、static finalC、staticD、public static final;8、接口的所有成员域都具有public 、static和final 属性。
9、接口的所有成员方法都具有public 和abstract 属性。
10、编译下列源程序会得到哪些文件?(C)class A1{}class A2{}public class B{public static void main(String args[]){}}A) 只有B.classB)只有A1.class和A2.class文件C)有A1.class、A2.class和B.class文件D) 编译不成功11、下列哪种说法是正确的?(A)A、私有方法不能被子类覆盖。
(完整版)Java程序设计习题附答案(三)
(完整版)Java程序设计习题附答案(三)第三部分⾯向对象程序设计1、引⽤数据类型变量具有基本属性为(ABCD)A、变量名B、数据类型C、存储单元D、变量值。
2、⾯向对象技术的特性是(ACD)A、继承性B、有效性C、多态性D、封装性。
3、下列哪个命题为真?(C)A、所有类都必须定义⼀个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的⾮静态成员。
D、构造函数必须初始化类的所有数据成员。
4、关于⼦类与⽗类关系的描述正确的是(ACD)A、⼦类型的数据可以隐式转换为其⽗类型的数据;B、⽗类型的数据可以隐式转换为其⼦类型的数据;C、⽗类型的数据必须通过显⽰类型转换为其⼦类型的数据;D、⼦类型实例也是⽗类型的实例对象。
5、下列哪⼀项说法最好地描述了Java中的对象?(C)A、对象是通过import命令引⼊到程序中的所有事情B、对象是⽅法的集合,这些⽅法在⼩程序窗⼝或应⽤程序窗⼝中产⽣图形元素,或者计算和返回值C、对象是⼀种数据结构,它具有操作数据的⽅法D、对象是⼀组具有共同的结构和⾏为的类6、下⾯哪个关键字不是⽤来控制对类成员的访问的?(C)A、publicB、protectedC、defaultD、private7、Java语⾔正确的常量修饰符应该是(D)A、finalB、static finalC、staticD、public static final;8、接⼝的所有成员域都具有public 、static和final 属性。
9、接⼝的所有成员⽅法都具有public 和abstract 属性。
10、编译下列源程序会得到哪些⽂件?(C)class A1{}class A2{}public class B{public static void main(String args[]){}}A) 只有B.classB)只有A1.class和A2.class⽂件C)有A1.class、A2.class和B.class⽂件D) 编译不成功11、下列哪种说法是正确的?(A)A、私有⽅法不能被⼦类覆盖。
Java语言程序设计课后习题解答-张思民-第三章
第3章面向对象程序设计基础【1】什么是Java程序使用的类?什么是类库?[解答]:Java程序的基本单位是类。
对象是对事物的抽象,而类是对对象的抽象和归纳,找出事物的共性,把具有共同性质的事物归结为一类,得出一个抽象的概念——类。
类是具有相同属性和方法的一组对象的集合,类是在对象之上的抽象,对象则是类的具体化,一旦建立类之后,就可用它来建立许多你需要的对象。
Java的类库是系统提供的已实现的标准类的集合,是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。
【2】如何定义方法?在面向对象程序设计中方法有什么作用?[解答]:方法的定义由两部分组成:方法声明和方法体。
方法声明的基本格式如下:返回类型方法名(形式参数){… //方法体内容}方法声明包括方法名、返回类型和形式参数,方法的小括号是方法的标志;方法体为实现方法行为的Java语句。
在面向对象程序设计中,方法所起的作用是完成对类和对象属性操作。
【3】简述构造方法的功能和特点。
下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。
void Student(int no,String name){studentNo=no;studentName=name;return no;}[解答]:构造方法是一个特殊的方法,主要用于初始化新创建的对象。
构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。
以上的代码段出错于:①构造方法Student()前不能加void ②不能用return语句【4】定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。
编写Java程序创建student类的对象及测试其方法的功能。
(完整版)Java程序设计习题附答案(三)
第三部分面向对象程序设计1、引用数据类型变量具有基本属性为(ABCD)A、变量名B、数据类型C、存储单元D、变量值。
2、面向对象技术的特性是(ACD)A、继承性B、有效性C、多态性D、封装性。
3、下列哪个命题为真?(C)A、所有类都必须定义一个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的非静态成员。
D、构造函数必须初始化类的所有数据成员。
4、关于子类与父类关系的描述正确的是(ACD)A、子类型的数据可以隐式转换为其父类型的数据;B、父类型的数据可以隐式转换为其子类型的数据;C、父类型的数据必须通过显示类型转换为其子类型的数据;D、子类型实例也是父类型的实例对象。
5、下列哪一项说法最好地描述了Java中的对象?(C)A、对象是通过import命令引入到程序中的所有事情B、对象是方法的集合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或者计算和返回值C、对象是一种数据结构,它具有操作数据的方法D、对象是一组具有共同的结构和行为的类6、下面哪个关键字不是用来控制对类成员的访问的?(C)A、publicB、protectedC、defaultD、private7、Java语言正确的常量修饰符应该是(D)A、finalB、static finalC、staticD、public static final;8、接口的所有成员域都具有public 、static和final 属性。
9、接口的所有成员方法都具有public 和abstract 属性。
10、编译下列源程序会得到哪些文件?(C)class A1{}class A2{}public class B{public static void main(String args[]){}}A) 只有B.classB)只有A1.class和A2.class文件C)有A1.class、A2.class和B.class文件D) 编译不成功11、下列哪种说法是正确的?(A)A、私有方法不能被子类覆盖。
JAVA程序设计单元测试三与答案
一、单选题1、关于Java集合类框架的基本接口,下列说法错误的是()。
A.Map可以把键(key)映射到值(value)的对象,键不能重复。
B.List是有顺序的Collection,不可以包含重复元素。
C.Set不包含重复元素的Collection。
D.Collection代表一组对象,每一个对象都是它的子元素。
正确答案:B2、()集合类不能提供对元素的随机访问。
A.HashMapB.HashTableC.TreeMapD.LinkedList正确答案:D3、关于Iterator和ListIterator,说法错误的是()。
A.ListIterator从Iterator接口继承,然后添加了一些额外的功能,比如添加一个元素、替换一个元素、获取前面或后面元素索引位置。
B.Iterator只能遍历Set集合。
C.Iterator只可以向后遍历,而ListIterator可以双向遍历。
D.ListIterator只能遍历List。
正确答案:B4、关于Array和ArrayList的区别,下列说法不正确的是()。
A.ArrayList在任何场景都比Array好用,可以完全替代Array。
B.Array是指定大小的,而ArrayList大小是不固定的。
C.Array没有提供ArrayList那么多功能,比如addAll、removeAll和iterator等。
D.Array可以容纳基本类型和对象,而ArrayList只能容纳对象。
正确答案:A5、关于Java集合框架的优势,下面说法错误的是()。
A.复用性和可操作性。
B.通过使用JDK附带的集合类,可以降低代码维护成本。
C.随着使用经过严格测试的集合框架类,代码质量会得到提高。
D.使用核心集合类降低开发成本,但是要尽可能的实现我们自己的集合类。
正确答案:D6、异常指的是下列哪种情况?()A.程序中的语法错误B.程序事先定义好的可能出现的意外情况C.程序运行过程中发生的不正常现象,它将中断指令的正常进行D.程序的编译错误正确答案:C7、运行以下代码:public class RTExcept{public static void throwit ( ){System.out.print(“throwit ”);throw new RuntimeException( );}public static void main(String[] args){try{System.out.print(“hello ”);throwit( );}catch (Exception re ){System.out.print(“caught ”);}finally{System.out.print(“finally ”);}System.out.println(“after ”);}}运行结果是()。
JAVA程序设计课后习题及答案3
第3章1.类是一种复杂的数据类型,它是将数据和对数据的操作封装在一起而形成的集合体,是普通数据类型的扩展。
类不仅包含数据,还包含对数据进行操作的方法,正是这些方法反映了数据的行为。
对象是类的实例,是某个类的变量。
当一个程序运行时,系统为对象分配内存单元,而不是为类分配内存单元。
类和对象是密切相关的,类脱离不了对象,对象必须依赖类。
两者的关系可以简单地描述为抽象和具体的关系。
2.Java中,类成员的访问权限可以分为公共访问、默认访问、私有访问、保护访问和私有保护访问等几种,其中,除了默认访问没有控制符进行修饰,其他几种访问权限分别使用public、private、protected和private protected这样的访问控制修饰符。
3.如果把类设计成一个黑匣子,则使用者只能看见类中定义的公用方法却看不到方法的实现细节,也不能直接操作类中的数据,这样就可以有效地防止外部对类的干扰。
如果改变了类中数据的定义,只要方法名不改,就不会对使用该类的程序产生任何影响,这就是封装的含义。
也就是说,类的封装可以减少程序对类中数据的依赖性。
通过封装,可以达到以下目的。
(1)隐藏类的实现细节。
(2)要求用户只能通过接口访问数据。
(3)提高代码的可维护性。
4.继承是一种由已有的类创建新类的机制,利用继承,可以创建一个具有特殊属性的新类。
新类继承了已有类的状态和行为,并根据需要来增加自己的状态和行为。
对象的多态性主要分为两种类型,即向上转型和向下转型。
向上转型是指用子类对象实例化父类,对象的向上转型是自动完成的;向下转型是指用父类对象实例化子类,向下转型时,必须明确指明要转型的子类类型。
5.方法的重载是指在一个类中,方法的名称相同,但是方法的参数个数或参数类型不同,这称为方法的重载。
在调用具有重载关系的方法时,通过传递参数的个数以及传递参数的类型来区分调用了哪个方法。
如果子类的方法与父类中的方法同名,则子类不能继承父类中的方法,此时称子类方法覆盖了父类中的方法。
