一,抽象类:abstractjava
1,只要有一个或一个以上抽象方法的类,必须用abstract声明为抽象类;this
2,抽象类中能够有具体的实现方法;对象
3,抽象类中能够没有抽象方法;继承
4,抽象类中的抽象方法必须被它的子类实现,若是子类没有实现,则该子类继续为抽象类接口
5,抽象类不能被实例化,但能够由抽象父类指向的子类实例来调用抽象父类中的具体实现方法;一般做为一种默认行为;原型
6,要使用抽象类中的方法,必须有一个子类继承于这个抽象类,并实现抽象类中的抽象方法,经过子类的实例去调用;变量
二,接口:interface方法
1,接口中能够有成员变量,且接口中的成员变量必须定义初始化;static
2,接口中的成员方法只能是方法原型,不能有方法主体;参数
3,接口的成员变量和成员方法只能public(或缺省不写),效果同样,都是public
4,实现接口的类必须所有实现接口中的方法(父类的实现也算,通常有经过基类实现接口中个异性不大的方法来作为适配器的作法)
三,关键字:final
1,可用于修饰:成员变量,非抽象类(不能与abstract同时出现),非抽象的成员方法,以及方法参数
2,final方法:不能被子类的方法重写,但能够被继承;
3,final类:表示该类不能被继承,没有子类;final类中的方法也没法被继承.
4,final变量:表示常量,只能赋值一次,赋值后不能被修改.final变量必须定义初始化;
5,final不能用于修饰构造方法;
6,final参数:只能使用该参数,不能修改该参数的值;
四,关键字:static
1,能够修饰成员变量和成员方法,但不能修饰类以及构造方法;
2,被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的全部实例共享
3,static变量和static方法通常是经过类名直接访问,但也能够经过类的实例来访问(不推荐这种访问方式)
4,static变量和static方法一样适应java访问修饰符.用public修饰的static变量和static方法,在任何地方均可以经过类名直接来访问,但用private修饰的static变量和static方法,只能在声明的本类方法及静态块中访问,但不能用this访问,由于this属于非静态变量.
五,static和final同时使用
1,static final用来修饰成员变量和成员方法,可简单理解为“全局常量”!
2,对于变量,表示一旦给值就不可修改,而且经过类名能够访问。
3,对于方法,表示不可覆盖,而且能够经过类名直接访问。