国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

樂字節(jié)Java構(gòu)造器(構(gòu)造方法|構(gòu)造函數(shù))、方法與內(nèi)存分析

wangshijun / 1827人閱讀

摘要:一構(gòu)造器構(gòu)造方法構(gòu)造函數(shù)在創(chuàng)建對象時(shí)必會(huì)調(diào)用一個(gè)特殊的方法,這個(gè)方法是初始化對象信息的為服務(wù)的。構(gòu)造函數(shù)與類同名且沒有返回值。

一、 構(gòu)造器(構(gòu)造方法|構(gòu)造函數(shù))

在創(chuàng)建對象時(shí)(new),必會(huì)調(diào)用一個(gè)特殊的方法,這個(gè)方法是初始化對象信息的為new服務(wù)的。這個(gè)方法稱為“構(gòu)造器”

使用 new + 構(gòu)造方法創(chuàng)建一個(gè)新的對象。

構(gòu)造函數(shù)是定義在 Java類中的一個(gè)用來初始化對象的函數(shù)。

構(gòu)造函數(shù)與類同名且沒有返回值。

例如: Person類的構(gòu)造函數(shù):

public class Person {
    int id;
    int age;
    Person(int n, int i){
        id = n;
        age = i;
    }
}

創(chuàng)建對象時(shí),使用構(gòu)造函數(shù)初始化對象的成員變量

public class Test {
    public static void main(String[] args) {
        Person tom = new Person(1, 18);
        Person jeck = new Person(2, 20);
    }
}
二、構(gòu)造方法的特點(diǎn):

1) 名稱必須和類名一致,與類名相同

2) 沒有返回類型|void

3) 構(gòu)造器可以存在return,return有選擇的跳出構(gòu)造器

4) 不能隨便調(diào)用,和new在一起使用,其他時(shí)候不能調(diào)用

5) 修飾符不能為 final abstract static

作用:

初始化對象信息,不是用于創(chuàng)建對象的

空構(gòu)造:

沒有參數(shù)的構(gòu)造器、無參構(gòu)造

1) 一個(gè)類中,如果沒有顯示|手動(dòng) 加入 任意構(gòu)造器 javac編譯后 自動(dòng)加入空構(gòu)造

2) 一旦加入構(gòu)造器, javac 不會(huì)加入空構(gòu)造器

三、方法的重載

方法的重載是指一個(gè)類中可以定義有相同的方法名,但參數(shù)不同的多個(gè)方法。調(diào)用時(shí),會(huì)根據(jù)不同的參數(shù)列表選擇對應(yīng)的方法。

四、構(gòu)造方法的重載

與普通方法一樣,構(gòu)造方法也可以重載

例子如下:

五、 引用與內(nèi)存分析

A:一個(gè)對象的內(nèi)存圖

B:二個(gè)對象的內(nèi)存圖

C:三個(gè)對象的內(nèi)存圖

內(nèi)存分析

劃分

引用的特點(diǎn):

1) 同一時(shí)刻一個(gè)一引用只能指向一個(gè)對象

2) 一個(gè)對象可以被多個(gè)引用所指向,其中一個(gè)對其進(jìn)行更改,該對象的其他引用也可見該變化

3) Java一切為值傳遞,引用拷貝地址

約定俗成的命名規(guī)則

類名的首字母大寫

變量名和方法名的首字母小寫

運(yùn)用駝峰標(biāo)識

例子:

public class Cat {
    String color; // 毛的顏色
    String name; // 名稱
    public void chase(Mice mice){
        mice.type = "jerry"; // 改變
        System.out.println(name + " 逮 " + mice.type);
    }
    public static void main(String[] args) {
        // 引用  與內(nèi)存分析(運(yùn)行期為--》數(shù)據(jù)的流向)
        Cat cat = new Cat();
        cat = new Cat();    
// 引用發(fā)生變化,同一個(gè)時(shí)刻一個(gè)引用只能指向一個(gè)對象
        cat.color = "黑色";
        cat.name = "tom";
        Mice mice = new Mice();
        mice.type = "米奇";
        // 將二者聯(lián)系起來  --》 依賴
        cat.chase(mice);    
// 傳遞時(shí),值拷貝,拷貝地址,拷貝完成后   一個(gè)對象被多個(gè)引用所指向
        System.out.println(mice.type);  
// jerry 其中一個(gè)對其發(fā)生變化,該對象的其他引用也可減該變化
    }
}
class Mice{
    String type;
}

定義如下類

public class BirthDate {
    int day;
    int month;
    int year;
    public BirthDate(int d, int m, int y){
        day = d;
        month = m;
        year = y;
    }
    void setDay(int d){
        day = d;
    }
    void setMonth(int m){
        month = m;
    }
    void setYear(int y){
        year = y;
    }
    int getDay(){
        return day;
    }
    int getMonth(){
        return month;
    }
    int getYear(){
        return year;
    }
    void display(){
        System.out.println(day + "-" + month + "-" + year);
    }
}

測試類:

public class Test {
    public static void main(String[] args) {
        Test test = new Test();
        int date = 9;
        BirthDate d1 = new BirthDate(7,7,1970);
        BirthDate d2 = new BirthDate(1,1,2000);
             test.change1(date);
             test.change2(d1);
             test.change3(d2);
             System.out.println(date); 
             System.out.println(d1);
             System.out.println(d2);
    }
    void change1(int i){
        i = 1234;
    }
    void change2(BirthDate b){
        b = new BirthDate(22,2,2004);
    }
    void change3(BirthDate b){
        b.setDay(22);
    }
}

總結(jié):

對象的創(chuàng)建和使用,必須使用new 關(guān)鍵字創(chuàng)建對象,使用對象引用.成員變量來引用對象的成員變量,使用對象引用.方法(參數(shù)列表)來調(diào)用對象的方法。

同一類的每個(gè)對象有不同的成員變量存儲空間,同一類的每個(gè)對象共享該類的方法,

非靜態(tài)方法是針對每個(gè)對象進(jìn)行調(diào)用 。

樂字節(jié)原創(chuàng),轉(zhuǎn)載請注明出處。請繼續(xù)關(guān)注樂字節(jié)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/75495.html

相關(guān)文章

  • 字節(jié)Java編程語言發(fā)展、面向?qū)ο蠛皖?/b>

    摘要:二面向?qū)ο蟾攀雒嫦蜻^程的設(shè)計(jì)思想和面向?qū)ο蟮脑O(shè)計(jì)思想我要吃魚香肉絲蓋飯面向過程我買菜我洗菜我切菜我放水我點(diǎn)火我做飯我炒菜。。。。 大家好,上次我們講過了樂字節(jié)Java編程之方法、調(diào)用、重載、遞歸,接下來我們將會(huì)進(jìn)入到Java封裝的內(nèi)容。Java編程語言發(fā)展,面向?qū)ο蠛皖悺?一、編程語言的發(fā)展 機(jī)器語言——直接由計(jì)算機(jī)的指令組成,指令、數(shù)據(jù)、地址都以0和1組成:可以被計(jì)算機(jī)直接識別并執(zhí)行...

    lufficc 評論0 收藏0
  • 字節(jié)Java繼承-方法重寫、super和final關(guān)鍵字

    摘要:大家好,樂字節(jié)的小樂又來了,上一篇是樂字節(jié)繼承與權(quán)限修飾,也是屬于繼承的,今天繼續(xù)繼承方法重寫和關(guān)鍵字。三關(guān)鍵字表示最終的。修飾類,表示該類不能被繼承修飾方法,表示該方法不能被重寫修飾屬性,表示常量,值一旦確定不可改變。 大家好,樂字節(jié)的小樂又來了,上一篇是:樂字節(jié)Java|JavaBean、繼承與權(quán)限修飾,也是屬于Java繼承的,今天繼續(xù)Java繼承-方法重寫、super和final...

    trigkit4 評論0 收藏0
  • 字節(jié)-Java8新特性之方法引用

    摘要:上一篇小樂介紹了新特性函數(shù)式接口,大家可以點(diǎn)擊回顧。中引入方法引用新特性用于簡化應(yīng)用對象方法的調(diào)用,方法引用是用來直接訪問類或者實(shí)例的已經(jīng)存在的方法或者構(gòu)造方法。方法引用是一種更簡潔易懂的表達(dá)式。 上一篇小樂介紹了《Java8新特性-函數(shù)式接口》,大家可以點(diǎn)擊回顧。這篇文章將接著介紹Java8新特性之方法引用。 Java8 中引入方法引用新特性,用于簡化應(yīng)用對象方法的調(diào)用,?方法引用是...

    Codeing_ls 評論0 收藏0
  • 字節(jié)Java|this關(guān)鍵字、static關(guān)鍵字、block塊

    摘要:在成員方法中或構(gòu)造器中隱式的傳遞。作用如下在構(gòu)造器中只能放在第一行屬性避免屬性和形參局部變量同名,發(fā)生就近原則實(shí)參列表構(gòu)造器的首行調(diào)用其他構(gòu)造器。關(guān)鍵字靜態(tài)的公共的。構(gòu)造塊,先于構(gòu)造器執(zhí)行,每創(chuàng)建一個(gè)對象執(zhí)行一次。 大家好,我是樂字節(jié)的小樂,從本文開始將會(huì)給大家講述Java繼承,一下是Java繼承的知識圖譜:showImg(https://segmentfault.com/img/bV...

    _DangJin 評論0 收藏0
  • 字節(jié)Java8核心特性實(shí)戰(zhàn)之方法引用

    摘要:大家好,我是樂字節(jié)的小樂,上一次我們說到了核心特性之函數(shù)式接口,接下來我們繼續(xù)了解又一核心特性方法引用。方法引用是一種更簡潔易懂的表達(dá)式。感謝光臨閱讀小樂的,敬請關(guān)注樂字節(jié)后續(xù)將繼續(xù)講述等前沿知識技術(shù)。 大家好,我是樂字節(jié)的小樂,上一次我們說到了Java8核心特性之函數(shù)式接口,接下來我們繼續(xù)了解Java8又一核心特性——方法引用。 showImg(https://segmentfaul...

    lakeside 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<