麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Java學習筆記---繼承和super的用法

2019-11-14 23:44:05
字體:
來源:轉載
供稿:網友
java學習筆記---繼承和super的用法

自從換了個視頻教學,感覺比原來那個好多了,就是學校網速太渣,好多視頻看一會卡半天,只能先看看已經下載的了.

不過也好,雖然不能從開始開始重新開,但是已經看過一次,在看一次也是好的,就當鞏固學習了.

繼承的關鍵字:extends

格式如下: class 子類名 extends父類名{

...

}

例如 學生是繼承人類這一父類的.

class student extends person{

...

}

如果一個類的聲明沒有使用關鍵字extends,則這個類默認是繼承Object類的.Object是所有類的父類.Object是java.lang包中的類.

當一個子類繼承了一個父類時,子類可以調用父類中的所有方法和成員變量.子類也可以單獨自己聲明方法或者變量.

下面的代碼創建了4個class.分別是Dog,Cat,Animal和包含主函數的Main類.其中Dog和Cat是繼承父類Animal的.

Cat繼承Animal類:

package com.VEVb;

public class Cat extends Animal{

//不帶參數的默認構造器

public Cat(){

//super();必須出現在構造方法的首行. //this();也如此.

    super();

//super("XX",10); 該代碼表示調用父類帶參的構造器

System.out.

/* public String name;

  public int age;

  public void walk(){

    System.out.println("Cat....walk");

}

public void sleep(){

    System.out.println("Cat....sleep");

} */

//注解提示

@Override

public void how(){

    System.out.println(name +" "+ "Cat....miaomiao");

//super 強制調用父類的show()方法法.

//如果沒有super,show();是this.show();的默認寫法.

//步驟是:先調用子類的show()方法.子類如果沒有show方法才調用父類的show()方法

    super.show();

}

public void show(){

    System.out.println(name +" "+ "Cat----->show");

}

}

聲明Dog類:

package com.VEVb;

public class Dog extends Animal {

/*public String name;

public int age;

public void walk(){

    System.out.println("Dog....walk");

}

public void sleep(){

    System.out.println("Dog....sleep");

} */

public void how(){

    System.out.println(name +" "+ "Dog....wangwang"); }

}

創建一個Animal的父類:

package com.VEVb;

//Animal不寫繼承就是默認繼承Object類. //抽象類不能new.傳入的是子類的實例對象.

public abstract class Animal extends Object{

    public String name;

    public int age;

//默認的不帶參的構造器

public Animal(){

    this("baobao",2);

//this();調用的是下面帶參的Animal的方法

    System.out.println("Animal--->()");

}

//帶參的構造器.給屬性賦初始值

public Animal(String name,int age){

    this.name = name;

    this.age = age;

    System.out.println("Animal--->(name,age)");

}

public void walk(){

    System.out.println(name + "---->walk");

    sleep();

    how();

//this.show 調用的是子類的show()方法,如果子類沒有show()方法.在調用父類的show()方法.

    this.show();

}

public void sleep(){

    System.out.println(name + "---->sleep");

}

//抽象方法.

public abstract void how();

public void eat(){

    System.out.println(name + "---->Eat");

}

public void play(){

    System.out.println(name + "---->Play");

}

public void show(){

    System.out.println(name +" "+ "Animal---->show");

}

}

Main類(包含主函數):

package com.VEVb;

public class Main {

public static void main2(String[] args) {

//生成一個cat對象

    Cat cat = new Cat();

    cat.name ="xiaohua";

    cat.age = 3;

    cat.walk();

    cat.how();

//生成一個dog對象

    Dog dog = new Dog();

    dog.name = "xiaomei";

    dog.age= 3;

    dog.walk();

    dog.eat();

    dog.how();

//調用的是調出來的對象

    Animal animal = new Cat();

    animal.name = "HH";

//調用的是子類Cat()的how()方法.

    animal.how();

    Animal animal2 = new Dog();

    animal2.name = "XX";

//調用的是子類Dog()的how方法

    animal2.how();

    animal.walk();

//GetMsg方法要求傳入的是子類cat,所以傳入的必須是cat,而不能是animal.

    GetMsg(cat);

    GetMsg(dog);

    GetMsg(animal2);

}

/* public static void GetMsg(Cat cat){

cat.how();

}*/

//將子類的對象傳入給父類的引用 //比上面的傳入單獨的cat靈活,一般使用下面這種方法

public static void GetMsg(Animal animal){

    animal.how();

}

/***1. new一個對象以后先調用子類Cat的第一個方法,運行super();調用父類Animal的第一個方法

  *2. 父類中的構造方法執行this();方法,this方法又調用Animal帶參數的方法并輸出;在返回不帶參的構造器執行this();下面的輸出語句

  *3. 在返回子類Cat中執行super();下面的語句,輸出"Cat構造器"

  *4. 接著animal.how()調用new出來的對象 cat的how()方法

  *5. 執行子類Cat()方法中的how()方法,并輸出.

  *6. 接著在運行how()方法中的super().show;然后調用父類Animal的show()方法.并輸出相應的結果. * */

public static void main(String [] args){

    Animal animal = new Cat();

    animal.how(); }

}

super();調用父類的構造器,方法和屬性.

this();調用該方法的當前對象.

今天博客園居然不能插入代碼塊,不知道出什么問題只能自己手寫,寫了半天.看的頭都暈了.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品爱久久久久久久 | 亚洲自拍第一 | 中国黄色一级生活片 | 噜噜在线视频 | 狠狠色噜噜狠狠狠米奇9999 | 播色网 | 亚洲第一综合 | 亚洲精品一区中文字幕 | 国产污污视频 | av免费在线观看av | omofun 动漫在线观看 | 在线成人毛片 | 久久久久二区 | 俄罗斯hdxxx| 欧美一级片免费在线观看 | 欧美成人免费 | 久久国产一二区 | 99日韩精品视频 | 欧美视频一区二区三区 | 国产88久久久国产精品免费二区 | 嫩草91在线 | 综合激情网| 久久精品一区二区三区国产主播 | 青青草国产在线视频 | 成人福利在线 | 国产精品久久久久久久不卡 | 日韩精品中文字幕在线播放 | 国产日韩在线 | 国产成年人网站 | 久久久久亚洲精品国产 | www国产成人免费观看视频 | 羞羞漫画无遮挡观看 | 韩国三级日本三级香港三级黄 | 精品免费国产一区二区三区 | 国内免费视频成人精品 | 国产午夜精品一区二区三区嫩草 | www.精品在线 | 偷偷草网站 | 欧美一级小视频 | 黄色伊人网站 | 亚洲人成在线播放网站 |