interface
----------------
1.所有方法都是抽象的
2.属性有固定的修饰符.
△成员常量:public static fianl
△成员函数:public abstract
△接口中的成员都是public的
3.接口之间可以多重继承。
4.接口之间是继承关系
5.类和接口之间是实现关系。
6.面向接口编程降低耦合度.
抽象类
--------------
1.abstract class
2.抽象方法所在的类必须抽象类。
3.抽象类可以没有抽象方法,有抽象方法的一定是抽象类。
Lips:接口与抽象类
共性:都是不断抽取出来的抽象(abstract)概念。
区别:抽象类体现继承关系,一个类只能够单一继承。
接口体现的是实现关系,一个类可以实现多个接口。
抽象类可以定义非抽象的方法,供子类使用。
接口的方法都是抽象的方法,接口中的成员都有固定的修饰(public)。
适配器模式
--------------
如果接口中的方法较多,而使用接口的时候却只关心其中的一个或者几个方法(关心的方法较少),
如果采用常规手段,就需要对每个方法都加以实现。可以创建一个类型来实现接口,对不关心 的方法进行。
空实现,对关心的方法保持不变。定义的新类继承抽象类后,将所关心的方法加以实现即可。
此种模式就称为适配器模式。常用于UI设计中的按钮点击事件的处理中。
多态
---------------
某一类失误的多种存在形态。
对继承的类来讲,使用父类类型引用子类的对象。
对于接口来说,可以使用接口引用实现了该接口的类所创建的对象。
类成员
-------------
1.成员变量
2.成员函数
3.构造函数
4.构造代码块
内部类:
△内部类可以直接访问外部类中的成员,包括私有成员。
△外部类要访问内部类的成员必须要建立内部类的对象。
关于内部类的位置:
1.内部类定义在成员位置上
①可以被 private static成员修饰符修饰
②被static修饰的内部类只能访问外部类中的静态成员(重要)换句话说静态方法只能访问 静态成员。
2.内部内定义在局部位置上(定义在方法里面)
①也可以直接访问外部类的成员
②同时可以访问所在局部中的局部变量,但是必须是被Final修饰的(不能再被修改)。
匿名内部类:
1.内部类的简写方法。
2.前提:内部类可以继承或者实现一个外部接口。
3.基本格式为:
new 外部类名或者接口名{覆盖类或者接口中的代码(也可以自定义内容)}
简单的说就是建立一个带内容的外部类或者接口的子类匿名对象。