欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:開發(fā)語言 Java 類和對象

柚子快報激活碼778899分享:開發(fā)語言 Java 類和對象

http://yzkb.51969.com/

登神長階 第一階 類和對象

??????????????????????

目錄

一.面向?qū)ο?

二.類六??

1.初步認識 類???

2.類的定義格式六???

三.對象???

1.類的實例化六??

2.類和對象???

?3.this引用??♂?

4.對象的構(gòu)造以及初始化隸

4.1.構(gòu)造方法?

4.2.初始化六??

4.2.1默認初始化??

?4.2.2就地初始化??

四.總結(jié)與反思?

一.面向?qū)ο?

??Java是一門純面向?qū)ο蟮恼Z言(Object Oriented Program,簡稱OOP),在面向?qū)ο蟮氖澜缋?,一切皆為對象。面向?qū)ο笫墙鉀Q問題的一種思想,主要依靠對象之間的交互完成一件事情。用面向?qū)ο蟮乃枷雭砩婕俺绦?,更符合?們對事物的認知,對于大型程序的設(shè)計、擴展以及維護都非常友好。

注意:面向過程和面相對象并不是一門語言,而是解決問題的方法,沒有那個好壞之分,都有其專門的應(yīng)用場景。

二.類六??

1.初步認識 類???

? 類是用來對一個實體

(

對象

)

來進行描述的

,主要描述該實體

(

對象

)

具有哪些屬性

(

外觀尺寸等

)

,哪些功能

(

用來干 啥)

,描述完成后計算機就可以識別了。比如:

比如:洗衣機,在

Java

中可以將其看成是一個類別。

屬性:產(chǎn)品品牌,型號,產(chǎn)品重量,外觀尺寸,顏色

...

功能:洗衣,烘干、定時

....

2.類的定義格式六???

? 在java中定義類時需要用到class關(guān)鍵字,類中包含的內(nèi)容稱為類的成員。屬性主要是用來描述類的,稱之為類的成員屬性或者類成員變量。方法主要說明類具有哪些功能,稱為類的成員方法

// 創(chuàng)建類

class WashMachine{

// 字段(屬性) 或者 成員變量

? public String brand; // 品牌

? public String type; // 型號

? public double weight; // 重量

? public double length; // 長

? public double width; // 寬

? public double height; // 高

? public String color; // 顏色

? public void washClothes(){ // 洗衣服

// 行為 或者 成員方法

? ?System.out.println("洗衣功能");

? ?}

? public void dryClothes(){ // 脫水

? ?System.out.println("脫水功能");

? ?}

? public void setTime(){ // 定時

? ?System.out.println("定時功能");

? ?}

}

?

注意事項

1.類名注意采用大駝峰定義

2.成員前寫法統(tǒng)一為public

3.此處寫的方法不帶

static

關(guān)鍵字

.

三.對象???

1.類的實例化六??

? 定義了一個類,就相當于在計算機中定義了一種新的類型

,不同于

int

double這些

java

語言自帶的內(nèi)置類型,而類是用戶自定義了一個新的類型,

。它們都是類

(

一種新定義的類型)

有了這些自定義的類型之后,就可以使用這些類來定義實例

(

或者稱為對象

)

。

用類類型創(chuàng)建對象的過程,稱為類的實例化

,在

java

中采用

new

關(guān)鍵字,配合類名來實例化對象。

2.類和對象???

? 類是一種自定義的類型,可以用來定義變量.。類只是一個模型一樣的東西,用來對一個實體進行描述,限定了類有哪些成員。做個比方。類實例化出對象就像現(xiàn)實中使用建筑設(shè)計圖建造出房子,類就像是設(shè)計圖,只設(shè)計出需要什么東 西,但是并沒有實體的建筑存在,同樣類也只是一個設(shè)計,實例化出的對象才能實際存儲數(shù)據(jù),占用實際的物理空間。

一個類可以實例化出多個對象,實例化出的對象 占用實際的物理空間,存儲類成員變量

?3.this引用??♂?

? 我們直接從this的作用入手,它主要使用在以下場景

1.形參名不小心與成員變量名相同:

? 此處的函數(shù)體中到底是誰給誰賦值?那一個是成員變量,那一個又是參數(shù)?

public void setPerson(int high, int weight, int age){

high=high;

weight=weight;

age=age;

}

? 因此,

this

引用指向當前對象

(

成員方法運行時調(diào)用該成員方法的對象

)

,在成員方法中所有成員變量的操作,都是通過該

引用去訪問

。只不過所有的操作對用戶是透明的,即用戶不需要來傳遞,編譯器自動完成。

public void setPerson(int high, int weight, int age){

this.high=high;

this.weight=weight;

this.age=age;

}

?2.調(diào)用方法時,多個對象同時調(diào)用一個函數(shù),此時,this用于表示調(diào)用那個對象的數(shù)據(jù)如下

public class Date {

private int year;

private int month;

private int day;

public void Setdate(int y,int m,int d) {

this.year = year;

this.month = m;

this.day = d;

}

public void Printdate(int y, int m, int d){

System.out.println(y+"年"+m+"月"+d+"日");

}

public static void main(String[] args) {

Date d1 =new Date();

Date d2 =new Date();

Date d3 =new Date();

d1.Setdate(2024,2,17);

d2.Setdate(2022,3,18);

d3.Setdate(2020,4,19);

}

}

? this

引用指向當前對象

(

成員方法運行時調(diào)用該成員方法的對象

)

,在成員方法中所有成員變量的操作,都是通過該

引用去訪問

。只不過所有的操作對用戶是透明的,即用戶不需要來傳遞,編譯器自動完成。

?總結(jié)

1. this

的類型:對應(yīng)類類型引用,即哪個對象調(diào)用就是哪個對象的引用類型

2. this

只能在

"

成員方法

"

中使用

3.

"

成員方法

"

中,

this

只能引用當前對象,不能再引用其他對象

4.對象的構(gòu)造以及初始化隸

? 在Java方法內(nèi)部定義一個局部變量時,必須要初始化,否則會編譯失敗

4.1.構(gòu)造方法?

? 構(gòu)造方法

(

也稱為構(gòu)造器

)

是一個特殊的成員方法,

名字必須與類名相同,在創(chuàng)建對象時,由編譯器自動調(diào)用,并且

在整個對象的生命周期內(nèi)只調(diào)用一次

。

public class Date {

public int year;

public int month;

public int day;

// 構(gòu)造方法:

// 名字與類名相同,沒有返回值類型,設(shè)置為void也不行

// 一般情況下使用public修飾

// 在創(chuàng)建對象時由編譯器自動調(diào)用,并且在對象的生命周期內(nèi)只調(diào)用一次

public Date(int year, int month, int day){

this.year = year;

this.month = month;

this.day = day;

System.out.println("Date(int,int,int)方法被調(diào)用了");

}

public void printDate(){

System.out.println(year + "-" + month + "-" + day);

}

public static void main(String[] args) {

// 此處創(chuàng)建了一個Date類型的對象,并沒有顯式調(diào)用構(gòu)造方法

Date d = new Date(2021,6,9); // 輸出Date(int,int,int)方法被調(diào)用

d.printDate(); // 2021-6-9

}

}

?

注意:

1.

名字必須與類名相同

2.

沒有返回值類型,設(shè)置為

void

也不行

3.

創(chuàng)建對象時由編譯器自動調(diào)用,并且在對象的生命周期內(nèi)只調(diào)用一次

(

相當于人的出生,每個人只能出生一次

)

4. 構(gòu)造方法可以重載(用戶根據(jù)自己的需求提供不同參數(shù)的構(gòu)造方法)

5. 構(gòu)造方法的作用就是對對象中的成員進行初始化,并不負責(zé)給對象開辟空間。?

6.?如果用戶沒有顯式定義,編譯器會生成一份默認的構(gòu)造方法,生成的默認構(gòu)造方法一定是無參的。一旦用戶定義,編譯器則不再生成。

構(gòu)造方法中,可以通過

this

調(diào)用其他構(gòu)造方法來簡化代碼

public class Date {

private int year;

private int month;

private int day;

public Date(){

}

public Date(int y,int m,int d){

this(2024,7,16); // 調(diào)用另一個不帶參數(shù)的構(gòu)造方法

}

}

?注意

this(...)

必須是構(gòu)造方法中第一條語句

不能形成環(huán)

4.2.初始化六??

4.2.1默認初始化??

? 如下代碼可見,局部變量在使用時必須要初始化否則編譯器會報錯,而成員變量沒有進行初始化,不會報錯

public class Date {

public int year;

public int month;

public int day;

public Date(int year, int month, int day) {

// 成員變量在定義時,并沒有給初始值, 為什么就可以使用呢?

System.out.println(this.year);

System.out.println(this.month);

System.out.println(this.day);

}

public static void main(String[] args) {

/* 此處局部變量a沒有初始化,編譯時報錯:

Error:(24, 28) java: 可能尚未初始化變量a

int a;

System.out.println(a);*/

Date date1 = new Date(2021,6,9);

}

}

? 此時,new關(guān)鍵字會起到一個作用

Date date1 = new Date(2021,6,9);

??簡單而言,在JVM(Java Virtual Machine #Java虛擬機)層面

1.

檢測對象對應(yīng)的類是否加載了,如果沒有加載則加載

2.?

處理并發(fā)安全問題

? ? 比如:多個線程同時申請對象,

JVM

要保證給對象分配的空間不沖突

3.?

為對象分配內(nèi)存空間

4.

設(shè)置對象頭信息

5.

調(diào)用構(gòu)造方法,給對象中各個成員賦值

6.初始化所分配的空間

對象空間被申請好之后,對象中包含的成員已經(jīng)設(shè)置好了初始值

?4.2.2就地初始化??

public class Date {

public int year = 1900;

public int month = 1;

public int day = 1;

//如上,在定義成員變量的時候就直接給其賦值,進行就地初始化

public Date(){

}

public Date(int year, int month, int day) {

}

public static void main(String[] args) {

Date date1 = new Date(2021,6,9);

Date date2 = new Date();

}

}

?

注意:代碼編譯完成后,編譯器會將所有給成員初始化的這些語句添加到各個構(gòu)造函數(shù)中

四.總結(jié)與反思?

?太山不讓土壤,故能成其大,河海不擇細流,故能就其深——李斯

? 在面向?qū)ο蟮膶W(xué)習(xí)中會有很多新的定義概念,難以消化,需要腳踏實地,注重對知識的積累與回顧,做好筆記,總結(jié)歸納

????????????????????????????

? 以上,就是本期的全部內(nèi)容啦,若有錯誤疏忽希望各位大佬及時指出?

? 制作不易,希望能對各位提供微小的幫助,可否留下你免費的贊呢?

柚子快報激活碼778899分享:開發(fā)語言 Java 類和對象

http://yzkb.51969.com/

推薦鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19309067.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄