【java】Java的繼承,方法重寫,存取權限

來源:互聯網
上載者:User

標籤:java   物件導向   

繼承

**首先物件導向的三大特性:
1. 封裝
2. 繼承
3. 多態**

文法
      class Subclass extends Superclass{ }
作用
  1. 繼承的出現提高了代碼的複用性。
  2. 繼承的出現讓類與類之間產生了關係,提供了多態的前提。
  3. 不要僅為了擷取其他類中某個功能而去繼承
例子
class Person {    String name;    int age;}/*繼承與Person類*/class Student extends Person {    int weight;}
  • Student類繼承了Person類,他擁有了Person類的所有成員變數
  • Student類擁有自己的一個成員變數
  • 如果Person類裡裡面的變數是private的,子類就不能直接存取了,只能通過get和set函數
  • Java中只有單繼承,也就是一個子類只能繼承一個父類
子類和父類構造器的調用
  1. 子類中所有的構造器預設都會訪問父類中空參數的構造器
  2. 當父類中沒有空參數的構造器時,子類的構造器必須通過this(參數列表)或者super(參數列表)語句指定調用本類或者父類中相應的構造器,且必須放在構造器的第一行
  3. 如果子類構造器中既未顯式調用父類或本類的構造器,且父類中又沒有無參的構造器,則編譯出錯
class Person {    String name;    int age;    Person() {        System.out.println("Person的構造器!");    }}class Student extends Person {    Student() {        System.out.println("Student的構造器!");    }    int weight;}

結果:

Person的構造器!Student的構造器!
方法重寫要求
  1. 重寫方法必須和被重寫方法具有相同的方法名稱、參數列表和傳回值類型。
  2. 重寫方法不能使用比被重寫方法更嚴格的存取權限。
  3. 重寫和被重寫的方法須同時為static的,或同時為非static的
  4. 子類方法拋出的異常不能大於父類被重寫方法的異常
class Person {    String name;    int age;    public void say() {        System.out.println("I am person!");    }}class Student extends Person {    int weight;    public void say() {        System.out.println("I am student!");//方法重寫    }}

下面這個情況不是方法重寫

class Person {    String name;    int age;    public void say() {        System.out.println("I am person!");    }}class Student extends Person {    int weight;    private void say() {        System.out.println("I am student!");//不是方法重寫    }}
存取權限

【java】Java的繼承,方法重寫,存取權限

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.