java--第八章继承 抽象类 接口

接口是特殊的类型,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。T

新接口集成所有父接口的常量、抽象方法和默认方法,但不能集成静态方法,也不能被实现类所继承

抽象类是不能实例化的T

抽象类是指不允许被实例化的类;抽象方法是没有方法体的方法。
  1、抽象类可以不包括抽象方法,它反正不会去实例化,抽象类不能被实例化,也就是不能用new关键字去产生对象,抽象方法只需声明,而不需实现,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类还是个抽象类,里面的方法是不是抽象的没有本质影响。
  2、但是含有抽象方法的类绝不能被实例化,否则执行这个方法的时候,怎么办?
  3、如果子类是非抽象的,那么它就必须实现父类中的抽象方法;否则,它继承来的抽象方法仍然没有方法体,也是个抽象方法,此时就与“含有抽象方法的类必须是抽象类”相矛盾了。
  抽象类与接口紧密相关,它们不能实例化,并且常常部分实现或根本不实现。抽象类和接口之间的一个主要差别是:类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承。从抽象类派生的类仍可实现接口。可以在创建组件时使用抽象类,因为它们使您得以在某些方法中指定不变级功能,但直到需要该类的特定实现之后才实现其他方法。抽象类也制定版本,因为如果在派生类中需要附加功能,则可以将其添加到基类而不中断代码。
  在实现抽象类时,必须实现该类中的每一个抽象方法,而每个已实现的方法必须和抽象类中指定的方法一样,接收相同数目和类型的参数,具有同样的返回值。

子类对象不能访问父类的私有成员变量,因此也没有任何办法可以修改父类的私有成员变量。F

子类对象拥有父类中的所有属性和方法
父类的私有成员。
子类对象拥有父类中的所有属性和方法,则子类当然也继承了父类的私有属性和方法。但是它不能直接访问,之所以说不能直接访问,而不是不能访问,那是因为一旦父类提供了其私有成员的公共访问方法,那么子类就可以访问其私有成员

一个非抽象类可以有选择地实现接口的部分抽象方法。F

如果子类是非抽象的,那么它就必须实现父类中的抽象方法;否则,它继承来的抽象方法仍然没有方法体,也是个抽象方法,此时就与“含有抽象方法的类必须是抽象类”相矛盾了。

有两个引用变量t1和t2,如果 t1 == t2为true, 那么t1.equals(t2)也一定为true。F

类在实现接口方法时必须给出方法体,并且一定要用public来修饰。T

一个Java源文件就是由类和接口组成的T

接口中的属性,都是静态常量。T

接口与一般的类一样,本身也具有数据成员和成员方法,但是数据成员必须是静态的且一定要赋予初值,且不能再被修改。
若缺省修饰符,系统默认为public static final

覆盖只能在不同的类中完成。T

覆盖可以在子类中重写与父类相同名字的方法功能
重载是指在同一个类定义多个名称相同但参数个数或类型不同的方法

可以使用protected修饰符来防止方法和数据被不同包的非子类访问。T

https://zhidao.baidu.com/question/1864554280080109987.html

子类可以访问,不同包的子类也可以

接口中的方法默认是public abstract方法。T

接口中定义的抽象方法不管是否用public abstract进行修饰,其默认总是使用public abstract来修饰

抽象类中不能有private的成员,所有的抽象方法必须存在于抽象类中T

抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。T

“抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。”是错误的说法。抽象方法通常存在于抽象类或接口中。

抽象类必须有抽象方法F

因为可以不定义抽象方法

abstract类中定义的方法只能是abstract方法。F

abstract类中可以定义一般方法和abstract方法
接口中,除了声明抽象方法之外,还可以定义静态方法和默认方法,但是不能定义一般方法

2-9 下面说法不正确的是( C )

(2分)

A. 一个子类的对象可以接收父类对象能接收的消息;

B. 当子类对象和父类对象能接收同样的消息时,它们针对消息产生的行为可能不同;

C. 父类比它的子类的方法更多;

D. 子类在构造函数中可以使用super( )来调用父类的构造函数;

子类不继承父类的构造方法。 (T)

构造方法可以调用本类中重载的构造方法和它的父类的构造方法。(T)

构造方法可以被重载 (T)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
this()和super() 不能在static环境中使用
在这里插入图片描述

下面说法不正确的是( A) (2分)
A父类比它的子类的方法更多;
B当子类对象和父类对象能接收同样的消息时,它们针对消息产生的行为可能不同;
C子类在构造函数中可以使用super( )来调用父类的构造函数;
D一个子类的对象可以接收父类对象能接收的消息;

类在实现接口方法时必须给出方法体,并且一定要用public来修饰。 (1分) T

接口中的属性,都是静态常量。 (1分)T

抽象类中不能有private的成员,所有的抽象方法必须存在于抽象类中。 (1分)T

抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。。 (1分)F

子类不继承父类的构造方法。 (1分)T

在使用interface声明一个接口时,只可以使用(public )修饰符修饰该接口。 (2分)

下面的概念,哪个不是关于对象的多态性的体现。D (1分)

A方法的重载 B方法的继承 C方法的覆盖 D对象的上、下转型

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值