final:关键字
final:可以修饰变量方法和类。
修饰属性:修饰一个变量,这个变量就成了常量。
修饰方法:方法不能被子类重写。
修饰类:这个类不能被继承。
抽象类:
是一种模板模式。抽象类为所有子类提供了一个通用模板,子类可以在这个模板上进行拓展。
通过抽象类,可以避免子类设计的随意性,保证子类的方法一致性,很好的实现多态。
abstract关键字可以用来定义抽象类。
抽象类没有方法体。
接口:
interface用来定义接口
接口内一个完全的抽象类,只存在抽象方法和全局静态常量。
接口中的成员用public表示接口可以继承接口
implements用来实现接口。
(java是单继承但是接口可以多继承)
一个类实现了接口必须实现接口中的所有方法。
普通类可以继承普通类
普通类可以继承抽象类
普通类可以实现接口
抽象类可以继承普通类
抽象类可以继承抽象类
抽象类可以实现接口
接口可以继承接口
内部类:
内部类作为内部类的成员可以直接访问外部类的成员,反之则不行。
内部类可以实现一个接口。
工厂类:
public class SingLeton{
//new 一个对象
private SingLeton s;
//私有化构造方法
private SingLeton(){
}
public SingLeton getInstance(){
if(s==null){
s=new SingLeton();
}
return s;
}
}