java面向对象编程、类的封装、接口和基本类库练习题_第1页
java面向对象编程、类的封装、接口和基本类库练习题_第2页
java面向对象编程、类的封装、接口和基本类库练习题_第3页
java面向对象编程、类的封装、接口和基本类库练习题_第4页
java面向对象编程、类的封装、接口和基本类库练习题_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、java面向对象编程、类的封装、接口和基本类库练习题java面向对象编程、类的封装、接口和基本类库练习题 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(java面向对象编程、类的封装、接口和基本类库练习题)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为java面向对象编程、类的封装、接口和基本类库练习题的全部内容。面向对

2、象编程基本知识练习一、判断题 1。不需要定义类,就能创建对象。( ) 2。构造方法用于给类的 private 实例变量赋值。( )3.对象一经声明就可以立即使用。( ) 4.在定义变量和方法时,必须清楚地在其面前标上访问权限修饰符。( ) 5。java 程序中的参数传递都是把参数值传递给方法定义中的参数。 ( )6。在类定义中,成员访问权限修饰符不能多次出现。( ) 7。new 操作符动态地为对象按其指定的类型分配内存,并返回该类型的一个引用。 ( ) 8.类的方法通常设为 public,而类的实例变量一般也设为 public.( ) 9。构造方法在创建对象时被调用。( ) 10.通过点运算符

3、与类对象的引用相连,可以访问此类的成员。( ) 11.声明为 protected 的类成员只能被此类中的方法访问。( ) 12.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间。( ) 13。类的成员变量可以放在类体的任意位置。( ) 14.声明为 protected 的类成员可以被此类作用域中的任何对象访问。( ) 15.没有返回值的方法可以用 void 来表示,也可以不加。( ) 二、选择题 1. 下面对对象概念描述错误的是:( ) a 操作是对象的动态属性 b 任何对象都必须有继承性 c 对象间的通讯靠消息传递 d 对象是属性和方法的封装体 2编译并运行下面的程序,运行结果为

4、:( ) public class a public static void main(string args) a a=new a(); a。method(8); void method(int i) system.out。println(“int: “+i); void method(long i) system.out.println(“long: “+i); a 程序可以编译运行,输出结果为 int:8b 程序可以编译运行,输出结果为 long:8 c 程序有编译错误,因为两个 method()方法必须定义为静态(static)的 d 程序可以编译运行,但没有输出 3下面关于类的说法不

5、正确的是:( ) a 类是 java 语言中的一种复合数据类型 b 类中不包含数据变量和方法 c 类是对所有具有一定共性的对象的抽象 d java 语言的类只支持单继承 4能作为类及其成员的修饰符是:( ) a interface b class c protected d public 5设 x、y 均为已定义的类名,下列声明对象 x1 的语句不可能正确的是:( ) a public x xl=new y(); b public y xl=new x(); c x xl=new x(); d x xl=x(); 6面向对象程序设计技术的特点是:( ) a 可重用性 b 可维护性 c 表示方法

6、的一致性 d 可重用性、可维护性、表示方法的一致性 7下列方法定义中,方法头不正确的是:( ) a public static x(double a) b public static int x(double y) c void x(double d) d public int x() 8设已声明了一个类 a 的两个对象 al、 a2,为了初始化 a1 和 a2,下面语句正确的是:( ) a al=new(); a2=new(); b al=a new(); a2=a new(); c al,a2=new a(); d al=new a(); a2=new a(); 9构造方法何时被调用?(

7、) a 类定义时 b 使用对象的变量时 c 调用对象方法时 d 创建对象时10下列哪个类声明是正确的?( ) a public abstract class car b abstract private move() c protected private number; d abstract final class hl 11下列不属于面向对象程序设计的基本特征的是:( ) a 抽象 b 封装 c 继承 d 静态 12请看下面的程序段 class person string name,department; int age; public person(string n) name = n;

8、 public person(string n,int a) name = n; age = a; public person(string n,string d,int a) /doing the same as two arguments version of constructer /including assignment name=n,age=a 下面那一选项可以添加到“/doing the same”处:( ) a person(n,a) b this(person(n,a)) c this(n,a) d this(name。age) 13( )是一个特殊的方法,用于对类的实例变量

9、进行初始化. a 终止函数 b 构造函数 c 重载函数 d 初始化函数 14关于变量和它们范围的说法,正确的是:( ) a 实例变量是类的成员变量 b 实例变量要用关键字 static 来声明 c 在一个方法执行时,定义在该方法的局部变量才被创建 d 局部变量必须在它们使用前初始化 15请看下面的程序段 class testprivate int m; public static void fun() /some code 方法 fun()如何来访问变量 m:( ) a 将 private int m 改成 protected int m b 将 private int m 改成 public

10、 int m c 将 private int m 改成 static int m d 将 private int m 改成 int m 16在 java 中,方法 main()将返回一个( )值。 a string b int c char d void 17有一个类 a,对于其构造函数的声明正确的是( ) a void a(int x) b public a(int x) c a a(int x) d int a(int x) 18请看下面的程序段 public class test long a = new long10; public static void main(string ar

11、g ) system 。out 。println(a6); 那一个选项是正确的:( ) a 不输出任何内容 b 输出 0 c 当编译时有错误出现 d 当运行时有错误出现 19关键字( )表明一个对象或变量在初始化后不能修改。 a extends b final c this d finalizer 20声明为 static 的方法不能访问( )类成员.a 超类 b 子类 c 非 static d 用户自定义类 类的封装练习一、判断题 1。在子类中可以用完全相同的 signature 重新定义一个超类方法,这称为方法的覆盖 (override)。( ) 2.final 修饰的方法是不能被子类覆盖

12、的,只能被重载.( ) 3。声明为 final的类不能是超类.( ) 4.当一个超类成员不适合该子类时,子类会以恰当的方式重新定义它。( )5。对子类实例化对象需要调用超类的构造函数进行初始化工作, 完成对子类中的超类实例变量的初始化,则子类可以继承超类的构造函数。( ) 6。在类的定义中如果不明确给出超类,那么默认超类就是 object 类。( ) 7.protected 类型的实例变量或方法只能由声明该变量或方法的类本身及其子类访问。( ) 8。java 的每个子类的构造函数都要显式的调用它的直接超类的构造函数.( ) 9。超类对象的集合通常比它的任何一个子类对象集合大。( ) 10。子类

13、可以从多个超类中派生出来。( ) 二、选择题 1为了区分重载多态中同名的不同方法,要求:( ) a 参数名不同 b 返回值类型不同 c 采用不同的形式参数列表 d 选项 a b c 都对 2在某个类中定义一个方法:void getsort(int x),以下关于能否作为这个方法的重载错 误的是:( ) a void getsort(float x)x*=x; b int getsort(double y) return(int)(2*y); c double getsort(int x,int y)return x+y; d 都不能 3下列对继承的说法,哪个是正确的:( ) a 子类只能继承父

14、类 public 方法和状态 b 子类能继承父类的非私有方法和状态 c 子类能继承父类的所有方法和状态 d 子类只能继承父类的方法,而不继承状态 4定义类 a 如下: class a int a,b,c; public void b(int x,int y,int z)a=x; b=y; c=z; 下面对方法 b()的重载哪些是正确的:( ) a public void a(int xl,int yl,int z1) a=x; b=y; c=z; b public void b(int x1,int yl,int z1) a=x; b=y; c=z; c public void b(int x

15、,int y) a=x; b=y; c=0; d public b(int x,int y,int z)a=x; b=y; c=z; 5下列程序的结果输出为:( ) class strange int j; strange() this(4); strange(int j) this.j=j; class mainstrange public static void main(string args) strange funny=new strange(); system。out.println(“j=“+funny.j); a j=2 b j=4 c j=6 d j=7 6下列说法正确的是:

16、( ) a java 中允许一个子类有多个父类 b 某个类是一个类的子类,它仍有可能成为另一个类的父类 c 一个父类只能有一个子类 d 继承关系最多不能超过 4 层 7下列说法正确的是:( ) a 子类只能覆盖父类的方法,而不能重载 b 子类只能重载父类的方法,而不能覆盖 c 子类不能定义和父类同名同形参的方法,否则,系统将不知道使用哪个方法. d 重载就是一个类中有多个同名但不同形参和方法体的方法 8关于构造函数的说法正确的是:( ) a 一个类只能有一个构造函数 b 一个类可以有多个不同名的构造函数 c 构造函数与类同名 d 构造函数必须自己定义,不能使用父类的所有构造函数 9下面是有关子

17、类调用父类构造函数的描述正确的是:( ) a 子类定义了自己的构造函数,就不会调用父类的构造函数 b 子类必须通过 super 关键字调用父类有参数的构造函数 c 如果子类的构造没有通过 super 调用父类构造函数, 那么子类会先调用子类自己的构造函数,再调用父类不含参数的构造函数。d 创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数 10构造方法何时被调用? ( ) a 类定义时 b 使用对象的变量时 c 调用对象方法时 d 创建对象时 11如果超类不允许其通过继承的方式产生的子类访问它的某些成员,那么它必须以什么方 式声明该成员。( ) a public b priva

18、te c rotected d static 12声明为 final 的变量不能在子类中覆盖,声明为( )和 ( )的方法是隐式的final.( ) a public private b private protected c protected static d static private 13继承性使成为可能,它不仅节省开发时间,而且也鼓励人们使用已经验证无误和调 试过的高质量软件。( ) a 节省时间 b 软件复用 c 软件管理 d 延长软件生命周期 14编译运行下面的程序,结果是( )。 public class a public static void main(string ar

19、gs) b b=new b(); b。test(); void test() system。out.print(“a); class b extends a 27 void test() super.test(); system。out。println(“b”); a 产生编译错误 b 代码可以编译运行,并输出结果:ab c 代码可以编译运行,但没有输出 d 编译没有错误,但会产生运行时异常 15已知类关系如下: class employee; class manager extends employeer; class director extends employee; 则以下语句正确的是

20、: ( ) a employee e=new manager(); b director d=new manager(); c director d=new employee(); d manager m=new director(); 16一个类的对象可以当作相应的类对象看待.( ) a 子 系统 b 用户 系统 c 子 超 d 超 用户 17哪个方法是对如下方法的重载?( ) public void example().。 a public void example( int m).。. b public int example().。 c public void example2()。.

21、 d public int example ( int m, float f).。. 18、被声明为 private,protected 及 public 的类成员,在类外部: ( ) a 只能访问到声明为 public 的成员 b 只可能访问到声明为 protected 和 public 的成员 c 都可以访问 d 都不能访问 19、现有两个类 a、b,以下描述中表示 b 继承自 a 的是( ) a class a extends b b class b implements a28 c class a implements d class b extends a 20、设类 b 是类 c

22、的父类,下列声明对象 x1 的语句中不正确的是( ) a c x1=new b(); b b x1=new c(); c c x1=new c(); d b xl=new b(); 三、简述题 1方法的重载和覆盖有什么区别? 2简述超类和子类的关系。 3在方法体中可以使用 this 和 super 关键字,其意义是什么,在什么情况下使用? 4试分清“是一个”关系和“有一个关系. 5调用构造方法遵循什么规则? 6要使一个类的多个对象具有不同的初始状态,应如何实现? 接口和基本类库练习题一、判断题 1java 中的类和接口都只支持单重继承。( ) 2 由于 java 中类只支持单重继承,所以一个类

23、只能继承一个抽象类和实现一个接口。( ) 3内部类始终可以访问外部类。( ) 4对于一个抽象类,改变它的属性和方法一定会改变它所有子类的属性和方法。( ) 5一个类可以实现抽象类的所有方法,也可以只实现部分方法,但实现部分方法的类仍然是一个抽象类。( ) 6在实现接口的时候,要实现所有方法.( ) 7接口其实是一个特殊的 abstract class。( ) 8一个接口不可以继承其他接口。( ) 二、选择题 1下面有关接口的说法,哪个是正确的?( ) a 接口与抽象类是相同的概念 b 一个类不可实现多个接口 c 接口之间不能有继承关系 d 实现一个接口必须实现接口的所有方法 2、在使用 int

24、erface 声明一个接口时,可以使用( )修饰符修饰该接口。 a private b protected c private or protected d public 3下列哪个不是属于接口用途的?( ) a 通过接口可以实现不相关类的相同行为 b 通过接口可以指明多个类需要实现的方法 c 通过接口可以了解对象的交互界面 d 通过接口可以了解对象所对应的类 5虽然接口和抽象类不能创建对象,但它们的对象引用仍可指向该类型的对象。这种说法 ( ) a 正确 b 不正确 c 不能确定 d 接口和抽象类不能说明其对象引用 6下面哪个类包括 drawimage( )方法、drawstring( )方

25、法和 setcolor( )方法。 ( ) a java 。awt .applet b java .awt .image c java 。awt .graphics d java 。util .date 7接口中说明了一组公共的抽象方法,其中是否包含公共的静态方法?答案是( ) a 可以b 不可以 c 不能肯定 d 因静态方法不能被改写,故不能出现在接口中 8接口是 java 面向对象的实现机制之一,以下说法正确的是: ( ) a java 支持多重继承,一个类可以实现多个接口 b java 只支持单重继承,一个类可以实现多个接口 c java 只支持单重继承,一个类只可以实现一个接口 d java 支持多重继承,但一个类只可以实现一个接口 9关于接口的定义和实现,以下描述正确的是: ( ) a 接口定义中的方法都只有定义没有实现 b 接口定义中的变量都必须写明 final 和 static c 如果一个接口由多个类来实现,则这些类在实现该接口中的方法时应采用统一的代码 d 如果一个类实现一个接口,则必须实现该接口中的所有方法,但方法未必声明为 public 11声明接口的保留字是( ) a interface b protect c final d static 13下面的接口(类)定义正确的是:( ) a publi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论