JAVA面向對象繼承

一、java繼承的實現

擴展父類功能;使用extends關鍵字完成繼承;格式:class 子類 extends 父類{ 程序}

class Person2{
   private String name;
   private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}
class Student2 extends Person2{
    private int score;
    public int getScore() {
        return score;
    }
public void setScore(int score) {
    this.score = score;
}
    public void tell() {
        System.out.println("姓名:"+getName()+" "+"年齡:"+getAge()+" "+"成績:"+getScore());
    }
}
public class Demo4 {
    public static void main(String[] args) {
         Student2 stu=new Student2();
        stu.setName("張三");
        stu.setAge(30);
        stu.setScore(99);
        stu.tell();
}

}

二、繼承的限制

java只允許單繼承,子類不能直接訪問父類的私有成員,只能通過get,set方法調用

三、子類的實例化過程:在子類實例化之前,必須先調用父類的構造方法,之後調用子類的構造方法

四、java方法重寫和super關鍵字

1、在繼承中也存在着重寫的概念,其實就是子類定義了和父類同名的方法。

2、方法名稱相同,返回值類型相同,參數也同

3、重寫限制:被子類重寫的方法不能擁有比父類方法更嚴格的訪問權限

4、訪問權限:private<default<public;

例:
class A{
    public void tell() {
        System.out.println("我是父類");
    }
}
class B extends A {
    public void tell() {
        super.tell();
        System.out.println("我重寫了父類");
    }
}
public class Demo5 {
    public static void main(String[] args) {
        B b=new B();
        b.tell();
    }
}

五、重寫與重載的區別


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