日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java继承调用先后_「继承顺序」JAVA继承顺序 - seo实验室

發(fā)布時(shí)間:2025/3/12 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java继承调用先后_「继承顺序」JAVA继承顺序 - seo实验室 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

繼承順序

當(dāng)使用繼承這個(gè)特性時(shí),程序是如何執(zhí)行的;

繼承的初始化順序

1.初始化父類再初始子類

2.先執(zhí)行初始化對(duì)象中屬性,再執(zhí)行構(gòu)造方法中的初始化

當(dāng)使用繼承這個(gè)特性時(shí),程序是如何執(zhí)行的呢,也就是說(shuō)我們需要關(guān)注繼承的初始化順序,當(dāng)我們創(chuàng)造一個(gè)對(duì)象的時(shí)候,所執(zhí)行的構(gòu)造方法就相當(dāng)于初始化一個(gè)對(duì)象,所以如果我們需要證明初始化一個(gè)對(duì)象的時(shí)候,它是不是會(huì)先初始化父類,然后初始化子類

初始化其實(shí)就相當(dāng)于執(zhí)行類的構(gòu)造方法,所以我們只需要重寫構(gòu)造方法,在類的構(gòu)造方法中輸出一句話,看它到底是什么時(shí)候輸出的,就知道他們的執(zhí)行順序了

舉個(gè)例子:

Animal類:package com.test;

public class Animal {

public int age;

public String name;

public void eat(){

System.out.println("動(dòng)物是可以吃東西的");

//這里的父類只是描述動(dòng)物可以吃東西

}

public Animal(){

System.out.println("Animal類執(zhí)行了");

}

}

Dog類:package com.test;

public class Dog extends Animal{

public Dog(){

System.out.println("Dog類執(zhí)行了");

//我們?cè)贒og類定義一個(gè)無(wú)參的構(gòu)造方法

}

}

主函數(shù)Initail類:package com.test;

public class InitailClass {

public static void main(String[] args) {

// TODO Auto-generated method stub

Dog d = new Dog();//主函數(shù)里只是創(chuàng)建了子類對(duì)象

d.age = 10;

d.name = "xiaotian";

d.eat();

}

}

我們看一下它的執(zhí)行順序:

運(yùn)行結(jié)果為:

可以看出僅僅是創(chuàng)建了子類對(duì)象,但它是先執(zhí)行了父類的構(gòu)造方法,然后執(zhí)行子類的構(gòu)造方法.我們就能證明當(dāng)我們創(chuàng)建對(duì)象的時(shí)候,它是優(yōu)先創(chuàng)建父類對(duì)象,然后創(chuàng)建子類對(duì)象

如果對(duì)象中有屬性,屬性和我們的構(gòu)造方法在初始化的時(shí)候哪一個(gè)先執(zhí)行呢

例子如下:

Animal類:package com.test;

public class Animal {

public int age=10;//為屬性賦初值

public String name;

public void eat(){

System.out.println("動(dòng)物是可以吃東西的");

//這里的父類只是描述動(dòng)物可以吃東西

}

public Animal(){

System.out.println("Animal類執(zhí)行了");

age = 20;//在執(zhí)行構(gòu)造方法的時(shí)候再為age賦一個(gè)值

//如果在程序中輸出這個(gè)值,這個(gè)值其實(shí)應(yīng)該是后一個(gè)的值,因?yàn)楹竺尜x的值會(huì)把前面的覆蓋掉

}

}

主函數(shù)Initail類:package com.test;

public class InitailClass {

public static void main(String[] args) {

// TODO Auto-generated method stub

//創(chuàng)建父類對(duì)象animal

Animal animal = new Animal();

System.out.println("animal age:"+animal.age);

Dog d = new Dog();//主函數(shù)里只是創(chuàng)建了子類對(duì)象

d.age = 10;

d.name = "xiaotian";

d.eat();

}

}

運(yùn)行結(jié)果為:

顯然構(gòu)造方法的初始化方式是后執(zhí)行的,所以屬性的初始化是先執(zhí)行的:

總結(jié)一下:

當(dāng)我們創(chuàng)建一個(gè)子類對(duì)象的時(shí)候,先創(chuàng)建父類的屬性進(jìn)行初始化,然后執(zhí)行父類的構(gòu)造方法,接著執(zhí)行子類的屬性進(jìn)行初始化,最后執(zhí)行子類的構(gòu)造方法。

相關(guān)閱讀

把姓名按照姓氏筆畫排序,這是在實(shí)際工作中經(jīng)常回遇到的,使用過(guò)Excel的朋友都知道Excel中默認(rèn)的排序方式是拼音排序,現(xiàn)在的問(wèn)題是如何

最近有在做一個(gè)初始化設(shè)備的動(dòng)作,但是發(fā)現(xiàn)在相同的文件夾下已經(jīng)有兩個(gè)module_init,當(dāng)我想再添加一個(gè)時(shí),發(fā)現(xiàn)我添加的這個(gè)是最后執(zhí)行

ATM機(jī)問(wèn)題域及詞匯表:https://blog.csdn.net/ashdkl/article/details/80510951ATM機(jī)用況圖:https://blog.csdn.net/ashdkl/article

隊(duì)列也是一種線性表,是一種先進(jìn)先出的線性結(jié)構(gòu)。隊(duì)列只允許在表的一端進(jìn)行插入(入隊(duì))、刪除(出隊(duì))操作。允許插入的一端稱為隊(duì)尾,允

fill:填充的意思stroke:筆的意思,可理解為為strokeRect是畫框框的fillStyle要寫在fillRect之前,可以理解為,先選好顏色再畫圖(就像畫

總結(jié)

以上是生活随笔為你收集整理的java继承调用先后_「继承顺序」JAVA继承顺序 - seo实验室的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。