二、Java初級--8、繼承和重寫方法

weixin_33866037發表於2018-03-06

過載(overloading):在一個類中,兩個或多個函式的名字是相同的,但是引數列表不一樣。
注意:僅僅是返回值不同的兩個函式,不叫過載,會報錯。

4593121-d55ac3b2a017ae73.png
結構

package javastudy;

public class testit {

    public static void main(String[] args) {
        MyClass a=new MyClass();
        a.print("張三");
        a.print("傑克",20);
    }
}
package javastudy;

public class MyClass {
        public void print(String name){
            System.out.println("你的名字是:" + name);
        }
        public void print(String name,int age){
            System.out.println("你的名字是:" +name+ ",你的年齡是:" +age);
    }
}

繼承的基本概念:

繼承:父類(基類、超類)、子類(派生類),使用extends關鍵字
Java中一個類只能整合一個父類。(在C++中,一個類可以繼承多個父類)
superclass:超類,即為父類的意思
java.lang.Object:Object是所有類的父類,java.lang是包名,比較特殊,使用時不需要import引入。


4593121-626063a02bc0b007.png
父類

重寫:子類中重寫並覆蓋父類中的方法,覆蓋=重寫。子類中有的,就不會呼叫父類中的方法。如下面的display()方法。


4593121-b8a007cb494866c8.png
結構
package javastudy;

public class Person {
    String name;
    int height;
    void display(){
        System.out.println("你的姓名是:"+name+"你的身高是:"+height);
    }
}
package javastudy;

public class Student extends Person {  // 繼承了Person類
    int score;
    void display()
    {
        System.out.println("你的名字是:" +name+ "你的身高是:" +height+ "你的得分是:" +score);
    }
}

package javastudy;

public class testit {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //Person類呼叫
        Person z=new Person();
        z.name="zhang";
        z.height=170;
        z.display();
        //Student類呼叫
        Student x=new Student();
        x.name="jack"; //直接引用
        x.height=200;//直接引用
        x.score=90;
        x.display();
    }
}

相關文章