1.抽象类 (对类抽象,包括属性,行为)
(1)含有抽象方法(没有方法体)(必须由abstract关键字修饰)的类必须被声明为抽象类(abstract修饰),抽象类不一定含有抽象方法。
(2)抽象类可以含有成员变量,成员常量(final修饰),构造函数,成员方法。(和普通类一样)
(3)子类通过extends关键字继承抽象类,必须实现抽象类的抽象方法或者该子类也是一个抽象类。
2.接口 :(接口是对行为的抽象)
(1)接口里只能含有静态成员常量和抽象方法,它的成员变量默认被关键字(public static final)修饰;成员方法默认被(public abstract)修饰
(2)类通过implments关键字实现接口,也必须实现抽象方法或者本身是一个抽象类。
3
类和类的关系:继承关系,java不支持多继承(一个类直接继承多个类),但支持多层继承。
类和接口的关系:实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现接口
接口和接口的关系:继承关系,可以单继承也可以多继承
4.内部类:在一个类中定义的一个类
(1)内部类可以直接访问外部类成员,包括私有
(2)外部类要访问内部类的成员,必须创建对象来访问
(3)内部类分为成员内部类,局部内部类(在成员方法中定义的一个类,可以在该内部类中直接访问方法内的局部变量)
(4)匿名内部类:(是局部内部类的一种特殊形式)本质是一个继承了抽象类或者实现了接口的子类匿名对象
格式:
//成员方法
public void method(){
//匿名内部类
Inter i = new Inter(){
public void show(){
System.out.println("匿名内部类");
}
};
i.show();
}



