




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
训练题二一、 选择题1.下列哪种类成员修饰符的变量只能在本类中被访问?( D )A. protected B. public C. default D. private2.在java语言的哪一个包是编译器自动导入的?( A )A. java.lang B. java.awt C. jva.io D. java.applet3.给出下面的程序代码:class Test3 private float a;public static void m() / 如何使成员变量a被方法m()直接访问?( C )A. 将private float a改为protected float aB. 将private float a改为public float aC. 将private float a改为static float a D. 将private float a改为float a4.已知有下面的类说明:public class Test4 private float f=1.0f;. int m=12; static int n=1; public static void main(String args) Test4 e=new Test4(); 在main()方法中,下面哪个的使用是正确的( A )?A. e.f B. this.n C. Test4.m D. Test4.f5.有一个类A,下面为其构造函数的声明,其中正确的是( B )。A. void A(int x) B. A(int x) C. a(int x) D. void a(int x) 6.在下面的程序源代码文件Test6.java中,哪个是正确的类的定义?( B )A. public class test6 B. public class Test6public int x=0; public int x=0; public test(int x) public Test6(int x) this.x=x; this.x=x; B. class T1 D. class T2 class T2 protected class Test6 extends T2public class Test6 extends T1, T2 public int x=0; public int x=0; public Test6(int x)public Test6(int x) this.x=x; this.x=x; 7.main()方法是JavaApplication程序执行的入口点,关于main()方法的方法头下面哪一项是合法的?( B )A. public static void main() B. public static void main(String args)B. public static int main(String arg) D. public void main(String args)8.下列程序的执行结果是( A )public class Test8 public void aMethod() static int i=0; i+; System.out.println(i); public static void main(String args) Test8 obj=new Test8();obj.aMethod();A. 编译错误 B. 0 C. 1 D. 运行成功,但不输出9.下面哪一项的方法调用能填入程序中的横线外?( C )class CC9 static void method() System.out.println(“in CC9”); class CC9_1 void method() System.out.println(“in CC9_1”); public class ex9 public static void main(String args) ex9 e=new ex9();e.method(); public void method() CC9 o1=new CC9();CC9_1 o2=new CC9_1();_ A. o1.method(); B. CC9.method(); C. CC9.method(); D. o1.method(); ex9.method(); CC9_1.method(); o2.method(); CC9_1.method();10.为了区分类中重载的同名的不同方法,要求( A )A. 采用不同的形式参数列表 B. 使用不同的参数名C. 修改访问权限 D. 返回值的数据类型不同11.若需要定义一个静态域,应使用哪一个修饰符?( A )A. static B. synchronized C. private D. protected12.设i,j为类X定义的double型成员变量名,下列X的构造函数中不正确的是(D )A. X(double k) i=k; B. X(double m, double n) i=m; j=n; C. X() i=6; D. double X(double k) i=k; return i; 13.设A为已定义的类名,则下列声明A类的对象a的语句中正确的是( A )A. public A a=new A(); B. public A a=A();C. A a=new class(); D. a A;14.为AB类的一个无返回值的方法method书写方法头,使得使用类名,AB作为前缀就可以调用它,该方法头的形式为( D )A. abstract void method() B. public void method()C. final void method() D. static void method()15.下面哪个保留字可以定义常量变量,说明这个变量赋值后永不改变? ( C )A. protected B. static C. final D. super16.下列哪个不是创建数组的正确语句? ( C )A. float f=new float66; B. float f=new float66;C. float f=new float6; D. float f=new float6;17.设X,Y为已定义的类名,下列声明X类的对象x1的语句中正确的是( A )A. static X x1; B. public Y x1=new X(int 123);C. Y x1; D. X x1=X();18.下列关于类说法不正确的是( D )A. 类是同种对象的集合和抽象 B. 类属于Java语言中的复合数据类型C. 对象是Java语言中的基本的结构单位 D. 类就是对象19.下面关于Java语言中的方法说法不正确的是( C )A. Java中的方法的参数传递是传值调用,而不是地址调用B.方法体是对方法的实现,包括变量声明和Java合法语句C.如果程序定义了一个或多个构造方法,在创建对象时,也可以用系统自动生成空的构造方法D.类的私有方法不能被其子类直接访问解析:如果程序定义了一个或多个构造函数,在创建对象时,必须用自定义的构造方法来初始化,若没有定义构造方法,则使用默认的构造方法。20. 类的另一种说法是( B )A.对象 B.模板 C.实例 D.接口21.Java语言有自动收集垃圾的功能,会周期性地回收一些长期不用的对象占用的内存。下列哪项是对象的清除的途径?( B )(1)依靠Java的垃圾回收机制回收内存(2)调用System.gc(),请求垃圾回收(3)Java系统开始运行时,自动调用java.Object.finalize()释放内存(4)在程序中调用重写的finalize()释放系统资源,其格式为: protected void finalize() throws throwable Super.finalize(); A. (1)(2) B. (1)(2)(3)(4) C. (1)(2)(3) D. (2)(3)(4)解析:考查Java语言的自动收集垃圾功能,垃圾回收用于对象的清除,题干中给出的4种垃圾回收的方法,都是可行的方法,因此选B22.在Java中,数组是当成( B )处理的A. 类 B. 对象 C. 接口 D. 简单数据类型解析:在Java中,数组是作为对象处理的;所以就有数组的定义、创建和初始化的概念,体现了Java语言面向对象的特点。二、 填空题1.方法头的关键字 void 用来表示方法不返回任何值。2.写出下列程序的运行结果。已知:字符a转换成整数对应的是97。程序如下:public class C2 public static void main(String args) char a=d; int b=a; float c=a; double d=a; System.out.println(“a=”+a); System.out.println(“b=”+b); System.out.println(“c=”+c); System.out.println(“d=”+d); 执行结果应是: a=d b=100 c=100.0 d=100.0 3.下面是一个类的定义,试将程序补充完整。class A String s; static int a=66; A(String s1) s=s1; static int getA() return a; 4.下面是一个类的定义程序,请将程序补充完整。public class MyClass int x, y; MyClass(int i, int j ) x=i; y=j; 5.通过 “.” 运算符实现对成员变量的访问和方法调用。6.变量的属性用于描述变量的作用域,按作用域分类,变量有局部变量、类变量、 方法参数 变量和异常处理参数。7.一个对象的生命周期有3个阶段: 生成 、使用和清除。解析:(1) 生成:包括声明、实例化和初始化。(2) 使用:先定义后使用的原则。(3) 清除:释放对象所占的内存,利用Java的自动收集垃圾功能。8.对象是一组相关变量和方法的封装体,对象的特征是对象的 行为 、状态和身份。9.一个类的定义分为类注释、 类声明 和类体的定义。解析:需知道一个类的定义分为类注释、类声明和类体的定义,其中类注释比较容易遗忘。10.通过类MyClass中的不含参数的构造函数,生成该类的一个对象obj,可通过以下语句实现: MyClass obj=new MyClass(); 11.在Java程序中,创建新的类对象用关键字 new 。12.构造方法是类中的一种特殊方法,它用来定义对象的 初始状态 。13.对象是一组相关变量和相关方法的封装体,是类的一个 实例化 。14.修饰符可分为 访问限定符 和 非访问限定符 两类。15.访问限定符有 public 、 protected ,private和default等。解析:访问限定符是限定类、属性或方法被程序里的其他部分访问和调用的修饰符,有public, protected, private和default等。16.非访问限定符有 static 、final、 synchronized 和abstract等。三、简答题 1.什么是类?如何定义一个类?类中包含哪几部分,分别是什么?答案:见实验指导书。2.什么是对象?如何创建对象?答案:见实验指导书。3.什么是构造方法?构造方法有哪些特点?答案:见实验指导书。4.如何对对象进行初始化?答案:见实验指导书。5.静态方法与非静态方法有什么区别?答案:见实验指导书。6.final成员变量和方法有什么特点?答案:见实验指导书。四、编程题1. 仔细阅读下面的应用程序Person,写出其Student类程序的内容。public class Person public static void main(String args) Student s1, s2; s1=new Student(“李明”, 1.87); s2=new Student(“宁普”, 1.85); if(s1.getHeight()s2.getHeight() System.out.println(s1.getName()+”比”+s2.getName()+”轻。”); 完善后的程序如下:public class Person public static void main(String args) Student s1, s2; s1=new Student(李明, 1.87); s2=new Student(宁普, 1.85); if(s1.getHeight()s2.getHeight() System.out.println(s1.getName()+比+s2.getName()+高。); class Student private String name; private double height; public Student(String name,double height) =name; this.height=height; public String getName() return name; public double getHeight() return height; 2.改正下面程序的错误并写出运行结果。public class Person /把这行的public去掉,一个程序中只能有一个public类 private String name; static int ID; public Person(String name) name=name;/把这里改成 =name; public String getName() return name; static void setID() ID+; public class People public static void main(String args) Person p1=new Person(“王强”); Person.ID+; System.out.println(+p1.ID);/上行的错(因为name是私有的),应改为p1.getName() Person p2=new Person(“李明”); Person.setID(); System.out.println(()+Person.ID); /上行的()应改成p2.getName() 3. 已知有如下类的定义: public class Point private double x,y; public Point(double a,double b) x=a; y=b; public double getX() return x; public double getY() return y; 编写一个测试类 TestPoint,在此类中定义一个方法,此方法的方法头如下: public double distance(Point p1,Point p2):此方法的求两点p1和p2的距离。 在main方法中,自己设定两个点(x1,y1)和(x2,y2),并求这两个点的距离。 程序答案暂时略! 4. 定义一个类A,类中有一个private的整型变量data;一个private的字符串对象str。类中有两个构造函数,一个不含参数,初始化data和str为其缺省值;另一个有两个参数,分别用来初始化data和str。类中还定义了三个方法,方法头的定义和其功能如下。public A add(int k, String s);该方法把data和str的值分别加上k和s。public A clearA();该方法把data和str的值分别清除为其缺省值。public String toString();该方法把data和str的值转变为字符串返回,便于显示。编写类TestA测试类A,创建类A对象并使用类A的三个方法。程序如下:class A private int data; private String str; public A() data=0; str=null; public A(int data, String str) this.data=data; this.str=str; public A add(int k, String s) this.data=this.data+k; this.str=this.str+s; return this; public A clearA() this.data=0; this.str=null; return this; public String toString() return “data=”+data+”n”+”str=”+str; public class TestA public static void main(String args) TestA t1=new TestA(); System.out.println(t1.toString(); t1.add(12,”AAA”); System.out.println(t1.toString(); t1.clearA(); Syste
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保密技术交流与合作合同
- 跨境电商车辆进口担保合同范本
- 车辆抵押贷款合同变更及补充协议书
- 培训中心兼职舞蹈老师聘用合同书(3篇)
- 初三毕业典礼演讲稿(13篇)
- 2024年青海省三江源国家公园管理局下属事业单位真题
- 企业正规聘用合同(7篇)
- 芦山县教育局招聘公费师范毕业生考试真题2024
- 低压运维练习试题附答案
- 锅炉练习试题附答案
- 2025年小学一年级奥林匹克数学竞赛训练考试题(附答案解析)
- 2025年宁夏银川市中考物理一模试卷(含解析)
- 2025年初中学业水平考试地理模拟试卷(核心素养与能源地理)
- 玻璃瓶合同协议
- 云南邮政面试题及答案
- 国开2024《人文英语4》边学边练参考答案
- 新版水利工程监理日志
- 音乐课堂基础知识教学
- 生产月度工作总结汇报
- 他达拉非临床应用
- 中职高教版(2023)语文职业模块-第一单元1.4闪亮的坐标,劳模王进喜【课件】
评论
0/150
提交评论