Java 基础学习 抽象类 接口

抽象类 

抽象类不能被实例化(不能new对象),他的作用是提供给其他类进行继承。

关键字abstract

修饰类,类为抽象类,不能被实例化

修饰方法,方法为抽象方法,只有方法的签名,没有方法体

抽象类特点:

1 抽象类不能实例化,即抽象类不能创建对象

2 子类继承(extends)抽象类,必须实现该抽象类当中所有的抽象方法(除非子类也是一个抽象类)

3 抽象类,可以包含抽象方法和非抽象方法(普通方法)以及变量;

4 如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误

5 抽象类中也可以不包含抽象方法

6 抽象类可以有父类,但是父类必须有一个无参的构造函数,否则,抽象类必须声明一个与父类相同的有参构造方法。

接口

接口是一个比抽象类还抽象的类型,是抽象方法和常量值的定义的集合

声明接口关键字 interface

实现接口关键字implements

接口的特点:

1 用interface关键字声明接口;

2 子类实现接口,并重写接口的所有的方法;

3 接口只有方法的签名,没有普通方法,也没有变量

4 接口不能自身实例化,接口的实现类可以实例化

5 接口可以实现多个,而父类只有一个(单亲继承),而且必须先继承(extends)父类再实现(implements)接口

6 接口中的方法都是抽象方法,默认方法前边public abstract

接口的优点:

1 解决Java中的单亲继承问题(继承只能是单亲继承,但是一个类可以实现多个接口)(单继承,多实现)

2 接口可以实现并行开发

3 便于重构

 类型转换

向上转型:子类对象向父类转型

1 将一个【父类的引用】指向一个子类对象,称为向上转型,此时自动进行类型转换(即可以理解为创建了一个父类类型的子类对象)

2 通过父类的引用调用的方法,是子类重写或继承父类的方法,而不是父类原本的方法,更不是子类持有的方法

3 通过父类的引用无法调用子类特有的方法,即向上转型的子类对象只能调用继承父类的方法,而不能调用子类独有的方法,方法数量缩小,安全。

向下转型: 父类对象 向子类转型

父类对象向子类转换需要强制类型转换

1  将一个指向子类对象的父类引用赋给一个子类的引用,称为向下转型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值