static用法
静态成员方法(有static修饰,归属于类),建议用类名访问,也可以用对象访问。
实例成员方法(无static修饰,归属于对象),只能用对象触发访问。
使用场景
(没有static)表示对象自己的行为的,且方法中需要访问实例成员的,则该方法必须申明成实例方法
(有static)如果该方法是以执行一个共用功能为目的,则可以申明成静态方法。
static访问注意事项:
静态方法只能访问静态的成员,不可以直接访问实例成员
实例方法可以访问静态的成员,也可以访问实例成员。
静态方法中是不可以出现this关键字的。
静态代码块
static{ //可以初始化静态方法
}
继承
什么是继承?
Java中提供一个关键字extends,用这个关键字,我们可以让一个类和另一个类建立起父子关系
public class Student extends People {}
student称为子类(派生类),People称为父类(基类 或超类)
作用:当子类继承父类后,就可以直接使用父类公共的属性和方法了
继承的好处
提高代码的复用性,减少代码的冗余,增强类的功能拓展性。
子类可以得到父类的属性和行为,子类可以使用。
Java中子类更强大(有父类属性,自己也可以创建属性)。
继承设计规范:
子类们相同特征(共性属性,共性方法)放在父类中定义,子类独有的的属性和行为应该定义在子类自己里面。
子类不能继承父类的构造器。
Java只支持单继承,不支持多继承(儿子只能有一个爸爸,爸爸可以有多个儿子),但是可以支持多层继承。
父子的方法或者类名一致,会优先调用子类(就近原则),如果要使用父类,则具有加入super
方法重写
什么是方法重写?
在继承体系中,子类出现了和父类中一模一样的方法声明,我们就称子类这个方法是重写的方法。
案例
旧手机的功能只能是基本的打电话,发信息。
新手机的功能需要能够:基本的打电话下支持视频通话。基本的发信息下支持发送语音和图片。
@Override重写注解
@Override是放在重写后的方法上,作为重写是否正确的校验注解加上该注解后如果重写错误。
编译阶段会出现错误提示。
建议重写方法都加@Override注解,代码安全,优雅
方法重写注意事项
重写方法的名称和形参列表应该与被重写方法一致。
私有方法不能被重写
静态方法不能被重写