java基础三-抽象类和接口
抽象类和抽象方法
抽象方法:
只给出方法定义而不具体是西安的方法称为抽象方法,抽象方法是没有方法体的,在代码的表达上就是没有{}
抽象类:
包含一个或多个抽象方法的类也必须被称声明为抽象类
抽象类和抽象方法的定义方式都需要在类名或方法名前加上 abstract关键字
#继承抽象类要重写抽象类的抽象方法 不用在这个子类加上abstract关键字
#抽象类不允许实例化抽象对象 比如说我们的抽象类是person所以我们不能在main函数里new一个person出来
抽象类的特点
1. 抽象方法只能在抽象类里
2. 抽象类和抽象方法必须用abstract修饰
3. 抽象类不能创建对象(不能实例化)
4.抽象类可以有非抽象方法
5.一个类继承了抽象类就要重写所有的抽象方法
接口的概述
java语言的继承是单一的继承,一个子类只能由一个父类.接口是java为我们提供的一种机制,解决继承单一的局限性
接口的方法都是抽象方法
接口的案例
防盗门 锁可以开锁和上锁,将门和锁定义为抽象类 防盗门可以继承门的同时又继承锁吗
1. 门定义为抽象类
2.锁定义为接口
3.防盗门继承门
4.实现锁的接口
锁的接口
门的抽象类创建
防盗门继承门和实现锁的接口
防盗门测试
securityDoor s = (SecurityDoor) d 是为了向下转型使用 子类的方法
接口的特点
只能有抽象方法
只能有常量
接口不能创建对象(不能实例化)
一个类要实现一个接口必须实现所有的方法
接口和类之间的关系
类与类 :继承关系
接口和类 多实现关系
接口和接口 继承关系
接口和抽象类的区别