JavaSE面向对象相关题目
-
己知如下Java类定义: class Base{public Base(){…}public void fun(int n){…}}public class Child extends Base{//member methods}如下哪句可以正确地被加入Child类中(D)A) pr:ivate void fun(int n) {. . . }B) void fun(int n) {… }C) protected void fun(int n) {…}D) public void fun(int n) {…}
-
若类A仅在其方法Methodl中定义并使用了类B的一个对象,类A其他部分的代码都不涉及类B,那么类A与类B的关系应为(B);若类A的某个属性是类B的一个对象,并且类A对象消失时,类B对象也随之消失,则类A与类B的关系应为 ( D )。 A)关联B)依赖C)聚合D)组合
-
Java中实现多态的机制是什么?
-
依靠父类或接口的引用指向子类,从而实现了一个对象多种形态的特性。在程序运行时动态地指向具体的实例,调用该引用的方法时,不是根据引用变量的类型中定义的方法来运行,而是根据具体的实例的方法。
-
面向对象编程的三个基本特征: 封装 、 继承 、 多态 。
-
关于面向对象的基本原则描述如下,请任选三条进行简单解释。S:Single Responsibility Principle - SRP(单一职责原则) O:Open-Closed Principle - OCP(开放封闭原则)L:Liskvo Substitution Principle - LSP(里氏替换原则)I:nterface Segregation Principle - ISP(接口隔离原则)D:Dependency Inversion Principle - DIP(依赖倒置原则)
-
下列哪一种叙述是正确的() D A、 abstract修饰符可修饰字段、方法和类B、 抽象方法的body部分必须用一对大括号{)包住C、 声明抽象方法,大括号可有可无D、 声明抽象方法不可写出大括号
-
下面关于继承的哪些叙述是正确的。a A、 在java中类只允许单一继承。B、 在java中一个类只能实现一个接口。C、 在java中一个类不能同时继承一个类和实现一个接口。D、 Java的单一继承使代码更可靠
-
下列哪种说法是正确的()d A、 实例方法可直接调用操作类的实例方法B、 实例方法可直接调用超类的类方法C、 实例方法可直接调用其他类的实例方法D、 实例方法可直接调用本类的实例方法
|9. 抽象类和接口的区别。
|
abstract class
|
interface
|
属性
|
不用限制
|
public静态常量
|
构造方法
|
可有可无
|
没有
|
普通方法
|
可以有具体方法
|
必须是public抽象方法
|
子类
|
单一继承
|
多重实现(接口继承接口时为多重继承)
|
静态方法
|
有
|
没有
|
-
请简单描述抽象、继承、封装、多态。
-
抽象:只声明行为接口(方法签名)而不完成具体的实现。
-
继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。一个新类可以从现有的类中派生,这个过程称为类继承,新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类),派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要
-
封装:属性私有化,提供公共的方法来访问私有属性getter、setter
-
多态:允许不同类的对象对同一消息做出不同的反应
-
以下()不是Object类的方法 a A) hasNext()B) finalize()C) toString()D) clone()

编辑切换为居中
添加图片注释,不超过 140 字(可选)
12. 以下对重载描述错误的是()d
A) 构造方法不能重载
B) 方法重载只能发生在一个类的内部.
C) 重载要求方法名相同,参数列表不同
D) 方法的返回值类型不是区分方法重载的条件

编辑切换为居中
添加图片注释,不超过 140 字(可选)
-
接口和抽象类描述正确的有(多选)BCD A) 抽象类没有构造函数B)接口中的方法可以有方法体 jdk1.8后C) 抽象类不允许多继承D) 接口没有构造函数
-
能用来修饰interface的有( )b A.private B.public C.protected D.static
-
在使用super 和this关键字时,以下描述正确的是()d A) this()和super()可以在static环境中使用,包括static方法和static语句块B) super()和this()不一定要放在构造方法内第一行C) this()和super()可以同时出现在一个构造函数中D) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
-
以下对封装的描述正确的是()d A) 只能对一个类中的方法进行封装,不能对属性进行封装B) 封装的意义不大,因此在编码时尽量不要使用C)如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用D) 封装的主要作用在于对外隐藏内部细节,增强程序的安全性
-
以下说法错误的是b A) super()方法可以调用父类的所有非私有方法B) this和super关键字可以出现在同一个构造函数中C) super.属性可以调用父类的所有非私有属性D) super()可以调用父类的所有非私有构造函数.
-
Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?
-
在Java中,以下关于方法重载和方法重写描述正确的是()。d A、方法重载和方法重写实现的功能相同B、方法重载出现在父子关系中,方法重写是在同一个类中C、方法重载的返回类型必须一致,参数必须不同D、方法重写的返回值类型必须相同(或是其子类)
-
接口是Java面向对象的实现机制之一,以下说法正确的是?b A Java支持多重继承,一个类可以实现多个接口。B Java只支持单重继承,一个类可以实现多个接口。C Java只支持单重继承,一个类只可以实现一个接口。D Java支持多重继承,但一个类只可以实现一个接口。
-
下列关于interface的说法正确的是?d A interface中可以有private方法。B interface中可以有final方法。C interface中可以有function实现。D interface可以继承其他interface。
-
关于Java中的继承,以下说法正确的有()bc A Java支持单继承和多重继承B Java只支持单继承,不支持多重继承C Java中的类最多只有一个直接父类,或者没有父类D Java中的每个类都有一个直接父类,而且只有一个直接父类
-
什么是面向接口编程?面向接口编程有什么好处?试举一个你在开发中使用面向接口的编程的例子?
-
下列哪一种叙述是正确的d A abstract修饰符可修饰字段、方法和类B 抽象方法的body部分必须用一对大括号{}包住C 声明抽象方法,大括号可有可无D 声明抽象方法不可写出大括号
-
为了使模块尽可能独立,要求()b A. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C. 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D. 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
-
关于继承,以下说法正确的是: ( )a d A. Java中只支持单继承,一个类只能继承一个类,但是可以有多个子类B. 一个类如果没有自己写无参构造方法,那么子类将无法继承C. 子类可以当父类用,父类不可以当子类用D. 子类重写父类方法时访问权限不能更低
-
下列选项中,用于在定义子类时声明父类名的关键字是()c (A) interface (B) package © extends (D) class
-
Java语言的类间的继承关系是( )b (A) 多重的 (B) 单重的 © 线程的 (D) 不能继承
-
现有两个类A、B,以下描述中表示B继承自A的是( )d (A) class A extends B (B) class B implements A© class A implements B (D) class B extends A
-
下列类定义中哪些是合法的抽象类定义( )c (A)abstract Animal{abstract void growl();}(B)Class abstract Animal{abstract void growl();}©abstract class Animal{ abstract void growl();}(D)abstract class Animal{abstract void growl(){System.out.println(“haha”);};}
-
若在某一个类定义中定义有如下的方法:abstract void performDial();该方法属于( )c (A)接口方法 (B)最终方法 ©抽象方法 (D)空方法
-
如果类C1继承自类C2,并实现了接口I1,而类C2实现了接口I2,请挑出下面代 码的错误的部分:( )b (A) C2 instance = new C1();(B) C1 instance = new C2();© I1 instance = new C1();(D) I2 instance = new C1();
-
A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明: A a0 = new A();A a1 = new B();A a2 = new C();问以下哪个说法是正确的?( )d(A) 只有第1行能通过编译(B) 第1、2行能通过编译,但第3行编译出错( C)第1、2、3行能通过编译,但第2、3行运行时出错(D) 第1行、第2行和第3行的声明都是正确的
-
在JAVA中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的( )方法不属于Object类的方法。ad (A)equals(Object obj)(B)getClass()©toString()(D)trim()
-
下列程序的输出结果是( )b interface Number{final String str = “Hello world”;}public class HelloWorld implements Number{Public static void main(String [] args){System.out.println(str);}}
(A) 编译错误
(B) 输出Hello world
© 什么都不输出
(D) 输出str
-
下面那几个函数是 public void example(…)的重载函数?A A. public vold example(int m) { …}B. public int example (){…}C. public int example 2(){…}D. public int example (int m,float f){…}
-
Java中实现多态的机制是什么?
-
下面那个函数是public void aMethod(){…}的重载函数?Bd A、 void aMethod( ){…}B、 public int aMethod(int a, float b){…}C、 public void aMethod (){…}D、 public float aMethod (int m){…}
-
以下对重载描述错误的是( )a A. 构造方法不能重载B. 方法重载只能发生在一个类的内部C. 重载要求方法名相同,参数列表不同D. 方法的返回值类型不是区分方法重载的条件
-
关于接口以下说法不正确的有( )c A. 接口是抽象的最高境界。 B. 接口提供了方法的定义。C. 接口中的方法都是public的。 D. 实现接口必须实现接口中的一个方法
-
在使用super 和this关键字时,以下描述正确的是( )d A. super()和this()不一定要放在构造方法的第一行B. this()和super()可以同时出现在一个构造函数中C. this()和super()可以在static环境中使用,包括static方法和static语句块D. 在子类构造方法中使用super()显式调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
-
以下描述正确的有( )b A. abstract可以修饰类、接口、方法、变量B. abstract修饰的类主要用于被继承C. 声明抽象方法,大括号可有可无D. abstract修饰的类,其子类也必须是abstract修饰的
-
关于java中继承的特点,以下说法正确的是( )b A. 使类的定义复杂化B. Java只支持单继承,不支持多继承,但可以通过接口实现多继承的目的C. 子类继承父类的所有成员变量和方法,包括父类的构造方法D. 不可多层继承,即一个类不可以继承一个类的子类
-
构造器constructor可以进行下列哪些操作()b A. 被继承B. 被重载C. 被重写D. 被注入
-
下列哪些是错误的()B A. 抽象类可以有构造方法,接口中不能有构造方法B. 抽象类中不能有普通成员变量,接口中可以有普通成员变量C. 抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法D. 抽象类中可以包含静态方法,接口中不能包含静态方法
-
下列哪种说法是错误的()d A. 接口可以继承接口B. 具体类可以继承多个抽象类C. 抽象类是不可继承具体类D. 抽象类可以实现多接口
-
关键字super的作用是?d A、 用来调用父类的构造函数B、 用来访问父类被隐藏的成员变量C、 用来调用父类中被重载的方法D、 以上都是
-
下面不是面向对象技术特点的是?a A、 模块化B、 封装C、 继承D、 多态
过多内容就不一一展示了,需要获取的小伙伴直接转发+关注后私信(学习),
*********************