今日所学的内容是
super关键字,抽象类,final关键字和接口
1.首先super关键字只用于继承,,并且在子类中使用
2.super代表父类的对象
3.super 可以调用弗雷德成员方法,普通方法和构造方法
注意当super调用属性时,就是内存里的那一个
抽象类
抽象类使用abstract的关键字
abstract只能修饰类和方法
语法格式
abstract class Pig{
//普通的方法
public void eat(){
}
//抽象方法
public abstract void sleep();
}
注意
1 抽象方法是不完整的 ,后面没有方法体
2 抽象类无法创建对象,所以要用一个普通的类去继承抽象类,抽象方法必须要重写
3 抽象类中可以有普通的成员方法和抽象方法
4 在子类中一点要重写所有的抽象方法
5 非抽象类可以重写也可以不重写
6 一个抽象类可以去继承另一个抽象类
7 抽象类可以继承非抽象类
8 abstract修饰的类叫做抽象类
9 abstract修饰的方法叫做抽象方法
final关键字
修饰符 最终的
用法
1final可以修饰成员变量
但是这个成员变量一定要赋值
2final可以修饰局部变量
局部变量可以先不赋值,使用前一定要赋值,一旦赋值无法改变
3 final修饰的成员方法不能被重写
4 final可以修饰一个类,但这个类不可以被继承
5 final可以 修饰对象的引用,一旦赋值无法改变
接口
接口的关键字用interface
语法格式
interface 接口的名字{
//成员变量(常量)
方法
}
接口的注意事项
1 使用关键字interface声明一个接口
2 接口可以有属性,属性是常量,几乎不用
3 接口下面的方法,不带方法体,是不完整的
4 接口可以继承另一个接口
5 接口下面没有构造方法不可以实例化
6 用一个普通的类去实现这个接口,要用implments关键字
7 一个普通的类可以有多个接口,弥补java单继承的局限性
8 一定要在实现类中去实现所有的抽象方法
9 jdk1.8之后可以有默认的的带方法体的方法(default)