java 继承(extends),重写, static , final

  • 继承(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="小黑";  // 被修饰的属性必须 放值
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章