java定义显性构造函数_Java基础之三、类的特性和接口

类的派生、多态、抽象类、接口

1:派生-extends

派生就是继承已有类非私有的字段和方法等创建新的类,还可以添加、重写字段和方法;

在类的派生中,构造函数不可以被继承;

派生源的类-父类/基类/超类;派生的类-子类/派生类;

12d1bb47c2460eb16163dbb73ef7b4e7.png

2:super(…)调用超类的构造函数,在子类构造函数的开头;

super(…)和this(…)不能同时存在构造函数中,因为都必须在开始调用;

3:子类的构造函数中如果无显示调用超类构造函数,则会自动调用超类中的“不接收参数的构造函数”;

X(……){super();}

4:在类中最好显性编写“不接收参数的构造函数”;

虽然类会默认一个不接收参数的构造函数,但一旦定义带参数的构造函数,就不会默认,需要手工创建;

避免子类未定义构造函数出错--第3点

5:超类和子类

5941b8d0f057f621cd2ab8d1cd96bb14.png

6:超类和子类的实例引用

向上引用仅会执行子类继承父类的 功能或重写部分,向上引用无法调用子类独有的功能;

如下图2部分

e657f11725c9159ecbedfdde7b853f5a.png

b5518e85346e1bee2ac474f6f6f7ae2e.png

7:多态-派生类的价值

重写(override)-重写定义一个与超类中的方法签名一样的方法。让超类方法无效。如果要调用使用supper.方法名显示调用

引用类型转型

向上转型-超类类型的变量引用子类实例

db044cbec5099686eb815a28ad405ca8.png

向下转型-显示进行类型转型,比较常用的是对Object向下转型(类型)object;

e021bcdc85571adc49be79219e56bc50.png

8:注解-@Override(编译器可以读懂的注释)

告知程序重写超类的方法,而不是重写添加新的方法,避免出错

格式:@Override 方法名称

9:继承和访问权限

成员(字段、方法、类、接口)可以被继承,私有成员、实例初始化器、静态初始化器、构造函数不会被继承;

final类不能派生,final方法不能被重写;

当重写方法时,必须赋给与超类中方法相同或小于的访问权限修饰符

不可以将超类的类方法重写为实例方法

443fd0e3e4edcbd2b5b3ba51d0ecface.png

10:修饰符顺序

35505b3401e3b0599f7d73a8b5f27133.png

11:抽象类

无法创建或者不应该创建实例;

无法定义方法的主体。其内容应该在子类实现;

66ddcf2fbd7c3081b393ac97f8058f1d.png

12:抽象类和方法定义

abstract 类名{};

abstract 方法名();;

fb376490b70bab1b69f56dcecdf74bf7.png

13:抽象类中可以包含非抽象方法(抽象类的超类也是Object,Object类中有非抽象方法例如toString),但包含抽象方法的类一定是抽象类;

子类继承抽象类,要么实现抽象类全部方法,要么子类也是抽象类;

抽象类的非抽象方法重写为抽象方法比如toString方法

a3c44a7601f87e723e2940d5bd0ba181.png

14:文档注释和javaDoc-这部分网上搜索即可

b3225f4cf38fbba2de473c486f721f2a.png

15:接口-接口是引用类型的一种

接口声明:interface

接口所有方法都是public且abstract

ffa65f41f3e236cf55a3ae3418fc8c27.png

接口实现:implements,接口实现的方法必须是public修饰符;接口类型的变量可以引用实现类的实例

接口实现类必须实现接口所有的方法,否则实现类定义为抽象类;

接口可以持有常量---public\static\final字段,即为不可更改的数值的类变量

b14c10400210fac73ab800c78f70e900.png

接口本身的访问修饰符与类相同-可以加public修饰符

当类声明同时存在extends 和 implements一定要先写extends,一个类可以实现多个接口

接口也可以进行派生新的接口

7d4f263c647757d6ec6ad7ad227e704c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值