- 继承(extends)
- 继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力
- 教师类与工人类都是属于人类,所以继承必须满足(is-a)关系,父类更加通用,子类更加具体。
- java中子类拥有父类中非私有(private)的方法与属性,使用extends关键字实现
- 重写
- 子类和父类中方法相同,两个类之间的关系,函数的返回值类型、函数名、参数列表都一样
- 静态(static)
- 在java中static关键字代表静态的意思,可以用来修饰成员变量,成员方法,代码块。
- 被static修饰的方法与属性不需要依赖于对象进行访问,也就是说当类被加载了,就可以直接通过类名去访问。
- 因为静态方法不需要依赖对象进行访问所以也就没有this一说,并且因为没有this那么在静态方法中不能访问类的非静态属性与方法(非静态的属性与方法都是依赖于this的)
- 常量(final)
- final关键字在java中,用来修饰类,成员变量,方法,final代表最终的,
- 被修饰的类是不允许被继承的,
- 被修饰的方法中的值也是不能被改变的,并且还要一开始就赋上初始值(或者在构造方法中,如果常量的类型是对象的话只要引用地址不变也是没问题的),
- 被修饰的方法也是不能重写的,
首先咱得有俩个类,一个person类 与 teacher类
public clss Person{
public String name;
public int age;
public void show(){
System.out.print("我是一个人");
}
}
public class Teacher extends Person{
public String major;
public void show(){
System.out.print("我是一个老师");
}
}
// 上面俩个类就实现了继承 , teacher继承于person 在teacher中没有写name属性 但是也可以访问,
//因为父类被子类继承后 ,子类可以访问父类非私有的属性与方法
// e...方法重写也在上面体现得很明显
public class Teacher {
public void show(){
System.out.print("123");
}
}
public class Test{
public static void main(String[] args){
Teacher.show(); //输出123
}
}
// 静态方法不依赖于对象访问 , 可直接通过 类名访问,
public class Teacher {
public final String name="小黑"; // 被修饰的属性必须 放值
}