java super extends_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.cnblogs;

public class Cat extends Animal{

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

public Cat(){

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

super();

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

System.out.println("Cat構造器"); }

/*publicString 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.cnblogs;

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"); }

瘋狂軟件Java培訓緊跟最新的Java潮流技術,國內首家講解Java 8新特征,根據企業工作中需要的開發技術,讓學員學習的課程是企業最需要的實用技術,而且也保障學員能把這些技能點學會、學好,并且瘋狂軟件教育的課程實時更新,在信息技術快速發展的情況下,可以保證學員學到更新更主流的技術。師資雄厚,教師均擁有8年以上的項目實踐經驗,瘋狂軟件Java課程是理論與實踐相結合,這樣保障了學員很好的掌握理論知識同時,也能根據理論的指導做好實際的工作。

}

創建一個Animal的父類:

package com.cnblogs;

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

public abstract class Animal extendsObject{

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.cnblogs;

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();調用該方法的當前對象.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530142.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530142.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530142.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

比較abc大小的java_比較abc大小java

比較abc大小java[2021-02-09 04:04:20] 簡介:php去除nbsp的方法:首先創建一個PHP代碼示例文件;然后通過“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推薦:《PH…

海天食品的java開發工作如何_再三個月就秋招了,我想找一份java開發工作,現在應該怎么準備一下?...

在找工作之前,大家都要做一些準備工作,java開發也是如此掌握核心JavaSE首先,從核心Java(JavaSE)開始學習,盡可能地掌握它。你應該了解和掌握一些基本概念,如循環,數組,運算符等等。此外&#xf…

java udp簡單聊天程序_Java基于UDP協議實現簡單的聊天室程序

最近比較閑,一直在抽空回顧一些java方面的技術應用。今天沒什么事做,基于udp協議,寫了一個非常簡單的聊天室程序。現在的工作,很少用到socket,也算是對java網絡編程方面的一個簡單回憶。先看一下效果:實現的…

java9 反應編程_Java9第四篇-Reactive Stream API響應式編程

file我計劃在后續的一段時間內,寫一系列關于java 9的文章,雖然java 9 不像Java 8或者Java 11那樣的核心java版本,但是還是有很多的特性值得關注。期待您能關注我,我將把java 9 寫成一系列的文章,大概十篇左右。Java 9的…

bb10系統支持java嗎_黑莓BB10怎么樣 BlackBerry 10系統好用嗎?

曾幾何時黑莓Blackberry OS是一款十分受用戶歡迎的手機系統,不過隨著手機系統市場已經被蘋果iOS、谷歌安卓、微軟Windows Phone三分天下,致使曾經的黑莓帝國逐漸淪陷,體驗和性能都已經明顯跟不上iOS與安卓等系統的腳步了,也因為如…

java中興參與實參相同_中興通訊_傳輸SDH試題(含答案)

中興傳輸SDH試題一、單項選擇題(每小題2分,共30分)1、在SDH系統中, RSOH指(A)。A.再生段開銷B.復用段開銷C.再生段通道開銷D.復用段通道開銷2.、同步數字體系SDH具有(A)幀結構。A.塊狀B.串行C.鏈形D.三維3、管理指針單元的作用是(A)。A、用來指示信息凈負荷的第一個…

php 正則提取url,php 正則表達式提取網頁超級鏈接url的函數

function match_links($document) {preg_match_all("]))[^>]*>?(.*?)isx",$document,$links);while(list($key,$val) each($links[2])) {if(!empty($val))$match[link][] $val;}while(list($key,$val) each($links[3])) {if(!empty($val))$match[link][] …

php array colum,php5.5新數組函數array_column使用

array_column 用于獲取二維數組中的元素(PHP 5 > 5.5.0),但我們有時候需要在低版本中使用,那么就可以使用下面的代碼即可PHP5.5發布了,其中增加了一個新的數組函數array_column,感覺不錯的!但是低版本PHP要使用&…

php 將字符串打亂,PHP內部實現打亂字符串順序函數str_shuffle的方法

前言2019年春節已過,今天是上班第一天,還得翻一翻之前沒有看完的PHP源碼。今天聊的是字符串順序打亂函數str_shuffle。這個函數本身使用頻率并不高。但是,其內部實現還是非常有趣的。str_shuffle() 函數隨機地打亂字符串中的所有字符。要注意…

php+js+return+true,js中return、return false、return true的區別

1.語法及返回方式①返回控制與函數結果語法為:return 表達式;語句結果函數的執行,返回調用函數,而且把表達式的值作為函數結果返回出去②返回控制無函數結果語法為:return;在大多數情況下,為事件處理函數如果讓其返回false,可以防止默認的事件行為.例如,默認情況下,點擊一個標簽…

php strlen遇0截斷,聊下php下的截斷問題

0x01 起因有天在群里說起上傳的%00截斷的一些問題,就想起之前自己在這個問題踩過坑,想起了自己曾經的flag說要寫文章,一直沒寫,現在來填坑了。0x02 經過源碼理解1234//test.phpinclude "1.txt\000.jpg";?>1234//1.t…

test.php.bak,記一次phpmyadmin 4.8.1 遠程文件包含漏洞(BUUCTF web)

題目很簡單,一個滑稽打開源碼,發現存在source.php文件于是訪問文件,發現出現一串php源碼提示存在hint.php,于是訪問發現一句話flag not here, and flag in ffffllllaaaagggg再回過頭來觀察source.php明顯是一道代碼審計的問題&…

php中files和FILRS,php獲取文件內容最后一行示例

php獲取文件內容最后一行示例復制代碼 代碼如下:$rs README.md;$fp fopen($rs, r);fseek($fp,-1,SEEK_END);$s ;while(($c fgetc($fp)) ! false){if($c "\n" && $s) break;$s $c . $s;fseek($fp, -2, SEEK_CUR);}fclose($fp);echo $s;exit;時間&#x…

php 實現貪吃蛇游戲,C++實現簡單貪吃蛇游戲

我大概在一個多月前把自己上學期寫的c代碼的貪吃蛇游戲push到csdn上,并且說c風格的貪吃蛇寫起來有些麻煩(貪吃蛇游戲的c語言實現),準備用面向對象的c再寫一遍。現在我們專業恰好剛教完了c,學校也布置了一道簡單的貪吃蛇的編程題目&#xff0c…

java中的斜杠和反斜杠,老生常談java路徑中的反斜杠和斜杠的區別

JAVA中的斜杠有正斜杠與反斜杠之分,正斜杠,一般就叫做斜杠,符號為“/”;反斜杠的符號為“\”。斜杠(/)在JAVA中沒有什么特別的意義,就是代表一個字符‘/;反斜杠(\)則不然,它和緊跟著它的那個字符構成轉義字…

小程序 php cookie,微信小程序使用Cookie

微信小程序使用Cookie微信小程序不支持Cookie,因此,需要借助小程序的數據緩存來實現Cookie.環境: mpvue fly.js登錄成功后,在處理登錄驗證的method里,加入以下內容保存Cookie:wx.setStorageSync("sessionid",response.headers["set-cookie"][0])我對fly.j…

php對象好用嗎,在數據庫中使用對象的好處_php

我們都知道如何從mysql獲取我們需要的行(記錄),讀取數據,然后存取一些改動。很明顯也很直接,在這個過程背后也沒有什么拐彎抹角的。然而對于我們使用面對對象的程序設計(OOP)來管理我們數據庫中的數據時,這個過程就需要大大改進一…

linux apache php顯示源碼,linux 源碼安裝apache PHP 問題

sudo ./configure --prefix/var/php --with-apxs2/usr/local/apache2/bin/apxsLoadModule php5_module modules/libphp5.soDirectoryIndex index.html index.html.var .phpa-bash-3.2$ pwd/usr/local/apache2/htdocs-bash-3.2$ cat info.phpphpinfo();?>打開info.ph…

mysql臨時表的的理解,如何理解存儲過程中已存在的mysql臨時表?

它在創建表時具有IF NOT EXISTS(13.1.17. CREATE TABLE Syntax)選項,在這種情況下可以使用.例:DELIMITER $$CREATE PROCEDURE temp_sp1()BEGINCREATE TEMPORARY TABLE IF NOT EXISTS temp_table (col2 int(11) DEFAULT NULL,col3 int(11) DEFAULT NULL);INSERT INTO…

python 發郵件 抄送,Python調用outlook發送郵件,發送給多人、抄送給多人并帶上附件...

我的報告目錄具體解釋在代碼中有詳細注釋import win32com.client as win32import datetime, osaddressee test01qq.com;test02jd.com#收件人郵箱列表cc test02163.com;test03alibaba.com#抄送人郵件列表mail_path os.path.join(rC:\Users\songlihui\PycharmProjects\test001…