Java学习笔记六
学习方式:
书籍:《Java基础教程》 吴仁群 清华大学出版社
第4章:继承与接口
1、super关键字
super代表当前或者正在创建的实例对象的父类,通常可以利用这一关键字实现对父类同名属性或方法的调用。
2、abstract类
abstract类不能用new运算符创建对象,必须产生其子类,由子类创建对象。
若abstract类的类体中有abstract方法,只允许声明,而不允许实现,而该类的子类必须实现abstract方法,即重写父类的abstract方法。
一个abstract类只关心子类是否具有某种功能,不关心功能的具体实现,具体实现由子类负责。
3、接口
为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口。使用interface关键字来定义一个接口。
接口体中包含常量定义和方法定义两部分。
(1)接口中的成员都是public的,不能指定其他的访问控制修饰符。
(2)常量定义。接口属性的域默认是static final的,必须显式初始化。
(3)方法。只能提供方法头声明,不能提供实现,且除abstract外,不能使用其他修饰符。接口中方法被默认是public和abstract的,接口在声明方法时可以省略方法前面的关键字,但是,类在实现接口方法时,一定要用public来修饰。
4、接口回调
interface ShowMessage{
void show(String s);
}
class Car implements ShowMessage{
public void show(String s){
System.out.println("Car="+s);
}
}
class Bicycle implements ShowMessage{
public void show(String s){
System.out.println("Bicycle="+s);
}
}
public class interfacecallbackExample{
public static void main(String args[]){
ShowMessage dm;
dm = new Car(); //接口回调
dm.show("奔驰");
dm = new Bicycle();
dm.show("捷安特");
}
}
5、final类
final类不能被继承,即不能有子类,将一个类声明为final类一般是出于安全性考虑。
若方法被声明为final方法,则这个方法不能被重写,即不允许子类通过重写隐藏继承的final方法。