2018年抽象类和接口习题.docVIP

  • 109
  • 0
  • 约3.98千字
  • 约 5页
  • 2019-01-17 发布于天津
  • 举报
2018年抽象类和接口习题.doc

抽象类和接口习题   一、易错概念题   1. 以下方法错误的是(A D)   A 覆盖方法包括成员方法的覆盖和成员变量的覆盖   B 成员方法的覆盖是多态的一种表现形式   C 子类可以调用父类中被覆盖的方法   D 任何方法都可以被覆盖   分析 :在子类中调用父类方法使用 super 关键字。 super.a() 就可以调用父类的 a 方法。   在类继承或者接口实现过程中就会涉及到成员属性以及成员函数的重写, 需要注 意的是,成员函数的重写是直接覆盖父类的(继承中),但是 成员变量重写是不 会进行覆盖的 。   如果子类本身没有定义使用 this 关键字可以去访问父类的成员变量。   最后 final 修饰的方法不能被覆盖 覆盖即重写和重载一起都是多态的表现形式。   (重载、重写和覆盖)   override-重写 (=覆盖 ) 、 overload-重载、 polymorphism - 多态   override 是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在 继承父类时,重写(重新实现)父类中的方法。   重写(覆盖) 的规则:   1、重写方法的 参数列表必须完全与被重写的方法的相同 , 否则不能称其为 重写而是重载 .   2、重写方法的 访问修饰符一定要大于被重写方法的访问修饰符   (publicprotecteddefaultprivate)。   3、重写的方法的 返回值类型必须和被重写的方法的返回一致 ;   4、 重写的方法 所抛出的异常必须和被重写方法的所抛出的异常一致, 或者 是其子类 ;   5、 被重写的方法不能为 private , 否则在其子类中只是新定义了一个方法, 并没有对其进行重写。   6、 静态方法不能被重写为非静态的方法 (会编译出错)。   overload 是重载,一般是用于在一个类内实现若干重载的方法,这些 方法的名 称相同而参数形式不同。   重载 的规则:   1、 在使用重载时只能通过 相同的方法名、 不同的参数形式 实现。 不同的参 数类型可以是不同的参数类型, 不同的参数个数, 不同的参数顺序 (参数类型必 须不一样);   2、 不能通过访问权限、返回类型、抛出的异常进行重载 ;   3、方法的 异常类型和数目不会对重载造成影响 ;   对比:如果用重载,则在父类里要对应每一个子类都重载一个取得边数的方法; 如果用多态, 则父类只提供取得边数的接口, 至于取得哪个形状的边数, 怎样取 得,在子类里各自实现 (重写 ) 。   2. 下面说法正确的是(C H)   A instanceof 关键字用来判定某个类是否为抽象类。   B final关键字修饰的成员变量不需要初始化。   C 接口的方法都是抽象方法(jdk1.8之前 ),并且没有方法体   D 当我们继承一个抽象类时,我们必须要实现抽象类的抽象方法。 (X )   E 在向上转型的过程中,如果父类和子类拥有相同的名字的成员方法(非静态) 访问的是子类的该方法。 如果父类和子类拥有名字的成员变量时, 访问的是子类 的成员变量。(X )   F 内部类访问外部类方法时,不用创建外部类对象直接访问外部类方法。   G 内部类变量不能设置为 static (可以),也不能设置为 final   H 多态通常用来作为参数传入或者作为返回值返回 。   3. 下面说法不正确得是 (A C D E)   A 不能和 abstract 一起使用的修饰符有 static final public final   B 抽象类之间是继承关系 , 接口之间也是。   C 接口不能存在普通方法和常量   D 局部内部类 public , private 修饰符修饰 default/static   E 接口不可以直接实例化,抽象类可以   4. 下面有那些选项是对的(B C E)   A instanceof是一个二元修饰符,作用是用来判断左边的对象是否是右边类的 实例,返回的是布尔类型   B private protected 和 static 都不可以修饰 interface 接口 (接口的修饰符 只有 public )   C this. 属性名访问的是本类中的属性 , 如果本类中没有 , 就从父类中继续查找   D 对象是对类的抽象化   E 接口中可以有常量   分析 接口可以有常量 (jdk1.8以后 ) instanceof 是一个二元修饰符 , 作用是用 来判断左边的对象是否是右边类的实例 或者 是右边超类的实例   5. 以下说法正确的是 ( B )   对于方法内得形参 ()   A 必须定义多个形参   B 可以没有   C 至少有一个   D 只能是简单变量   6. 以下说法正

文档评论(0)

1亿VIP精品文档

相关文档