当前位置: 首页 > news >正文

多态(作业篇)

第一题:

A 派生出子类 B , B 派生出子类 C ,并且在 java 源代码有如下声明:

  1. A a0=new A();
  2. A a1=new B();
  3. A a2=new C();

问以下哪个说法是正确的?()

我们来看题目中的三行代码:

A a0 = new A();

这行代码创建了一个A类的实例,并将其赋值给一个A类型的引用变量a0。这是完全合法的,因为a0是一个A类型的引用,可以指向A类的实例。

A a1 = new B();

这行代码创建了一个B类的实例,并将其赋值给一个A类型的引用变量a1。这也是合法的,因为B类是A类的子类,根据多态性,父类引用可以指向子类对象。

A a2 = new C();

这行代码创建了一个C类的实例,并将其赋值给一个A类型的引用变量a2。这同样是合法的,因为C类是B类的子类,而B类又是A类的子类。因此,A类型的引用可以指向C类的实例。

综合选D. 第1行,第2行和第3行的声明都是正确的。


第二题:

以下说法错误的是:

B:重写要求两个方法名字相同, 同时参数的类型和个数相同,并且返回值类型也必须相同(或者返回值类型是父类方法返回值类型的子类型,这称为协变返回类型)。

这里可以回顾一下重写和重载的对比:

第三题:

关于抽象类的说法以下正确的是:

A. 某个抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法

  • 这是错误的。如果子类也是抽象类,则不需要重载父类中的抽象方法。且非抽象类的子类只需要重载它直接继承的父类中的方法。

B. 接口和抽象类是同一回事

  • 这是错误的。接口和抽象类在Java中是不同的概念。接口只包含抽象方法和常量,而抽象类可以包含抽象方法和具体方法,还可以包含成员变量。

C. 可以用抽象类直接去实例化创建对象

  • 这是错误的。抽象类不能被实例化,只能被继承。

D. 一个类只能继承一个抽象类

  • 这是正确的。Java中的类是单继承的,即一个类只能继承一个父类,包括抽象类。

第四题:

public interface IService {String NAME=“default”;}

默认类型等价表示是哪一项:

接口当中的成员变量默认是:public static final

接口当中的成员方法默认是:public abstract

一般定义的时候不加,也是默认为以上的形式存在的,所以选 C


http://www.mrgr.cn/news/58514.html

相关文章:

  • 30岁转行学 IT 如何避免内卷?
  • redis和memcached的区别
  • 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • 桥接模式,外界与主机通,与虚拟机不通
  • 再战df内容回显
  • React框架详解
  • python算法学习笔记之查找算法
  • 2:ARM 汇编语言2:二进制/十进制/十六进制
  • RBM HA联动VRRP三层主备案例
  • 从天边到身边,‘湘’遇北斗,‘株’多精彩
  • 状态栏黑底白字后如何实现圆角以及固定状态栏
  • golang的net包
  • vue2脚手架搭建项目流程
  • 3.1 机器学习--线性回归
  • JAVA基础-泛型
  • FineReport 多数据源报表
  • 搞fastjson总是惦记TemplatesImpl谁懂
  • SpingBoot原理
  • 线性表->链表(数据结构)
  • 在Android开发中WebView的详细使用方法
  • 【日常记录-Java】可变长度参数
  • 写导出接口的一些理解
  • lazada 商品详情 API 的获取与应用
  • python调用PIL库处理图片
  • JS轮播图实现自动轮播、悬浮停止轮播、点击切换,下方指示器与图片联动效果
  • 【人工智能】——matplotlib教程