1、static 修饰符
可以修饰属性和方法的(全局变量和方法)
静态的方法当中,只能直接调用静态的属性和方法,不能调用非静态的属性和方法
方法区:一个地方存模板,一个地方存静态域
静态的属性和方法:
可以使用类名.属性 类名.方法
也可以使用对象名.属性 对象名.方法
是随着类的加载而加载的,优先于对象的
非静态的属性和方法,是随着对象的加载而加载的
本类的静态属性和方法,可以直接调用,不需要写类名;非本类的静态的属性和方法,需要写类名.属性/方法
静态域中的属性方法只有一份,多个对象共享着一块区域,只要有一个对象修改了此值,所有的对象都用修改后的值
类名.静态属性/方法 更加推荐使用
对于属性来说,必须是所有的属性都写相同的属性,才建议使用Static
工具方法:
定义成静态的,
如果一个类中只存在静态的方法,这个类就是工具类
静态方法是不允许重写的
2、抽象类:abstract修饰的类 限制子类的实现
不想创建对象的类,定义为抽象类
抽象类不能创建对象,抽象类中有必要存在对象和方法,是给子类使用的…子类继承父类的属性和方法
抽象方法,对于子类来说,子类必须重写父类的方法
只有抽象类中才可以存在抽象方法;
如果一个类中存在抽象方法,这个类就必须成为抽象类
抽象类中除了存在抽象方法以外,还可以存在非抽象的方法,属性
private私有的方法不能继承,所以不能与abstract一汽修饰方法
final不能与abstract连用,因为final最终方法只能被继承不能被重写
static 不能与abstract连用,因为static方法只能被继承,不能被重写
abstarct只能修饰普通方法,不能修饰构造方法
3.接口:规范,规则
全部是抽象方法和静态常量
implements
类 遵守规则, class 实现类implements 接口,实现类需要重写,接口中的方法
先继承再实现
接口可以作用到不同的类型的对象上
接口可以同时继承多个接口,类只能单继承
多态可以适用于 类 接口