接口
关键字 interface 主要用来定义规范
- 接口中的抽象方法 经常省略 public abstract
- 和类一样 也是引用数据类型
- 接口中的成员变量是常量 pulic static final 都可以省略
- 接口是用来被实现的而且一个类可以实现多个接口.
接口和类的关系
- 接口不能有构造方法 所以不能实例化对象
- 接口里面吧能有普通方法 只能有抽象方法
- 接口是不能被继承的(但是能被接口继承)
但是可以被类随实现
注意 Java中类和类是单继承的 但是接口直接可以多继承
接口和抽象类的区别
- 抽象类可以有构造方法 普通成员变量 静态成员变量 静态普通法
抽象方法
抽象类
抽象类的概念
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类
抽象类的特性
•
抽象类不能被实例化
•
由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用
•
在Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口
抽象类VS普通类
1.抽象类不能被实例化
2.但可以创建一个引用变量,其类型是一个抽象类,指向非抽象的子类实例
3.普通类可以被实例化
抽象方法VS普通方法
l
抽象方法无方法体
l
普通方法有方法体
方法重写的概念
•
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
•
子类能够根据需要实现父类的方法。
•
重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。
方法重写与重载之间的区别
(1)
方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载
。
•
( 2 )
方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法,就称为重写
。
•
( 3 )方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。