java物件導向2

2021-09-02 23:39:04 字數 4040 閱讀 9486

/*

初始化物件:給物件的屬性賦值

1:直接賦值法 不常用(除非是那種固定不變值只有乙個的)

## 2.傳參方法

public

class

student

public

void

show2

(student stu1)

public

student()

public

student

(string name,

int age, string ***)

public

static

void

main

(string[

] args)

## 3.this

類的基本組成

1:成員屬性

2:成員方法

3:構造方法

注意:this()只能出現在構造方法的第一句

因為構造方法的作用就是給物件初始化,所以this只能出現在構造器的第一行,先讓物件的屬性初始化,然後在做其他事情

注意:this不可以出現在static方法中

注意:實際開發中,我們會給乙個類至少提供2個構造器

乙個無參的,乙個有參的

public

class

student

//1個引數

public

student

(string name)

//2個引數

public

student

(string name,

int age)

//3個引數

public

student

(string name,

int age,string ***)

public

void

eat(

)public

void

study()

public

void

sleep()

public

static

void

main

(string[

] args)

}

*this的作用:

this表示的是當前物件本身,

更準確地說,this代表當前物件的乙個引用。

普通方法中使用this。

區分類成員屬性和方法的形參.

呼叫當前物件的其他方法(可以省略)

位置:任意

構造方法中使用this。

使用this來呼叫其它構造方法

位置:必須是第一條語句

this不能用於static方法。(講完static,大家就知道為什麼了!)

/*

* 分析問題

* 先有物件,再有類

* 解決問題

* 先有類,再有物件

*

* static關鍵字的用法

* 語法格式

* static 資料型別 變數名= 值; 靜態

* 資料型別 變數名 = 值 非靜態

* *

* 1:static修飾變數

* 1.1:static 修飾變數,會讓變數成為類變數,也是靜態變數,這個變數屬於當前這個類,和物件沒有關係

* 1.2:靜態變數是隨著jvm第一次把類載入到記憶體中的時候,就把值賦值好了,比物件要提前,靜態變數都有預設值

* 1.3:靜態變數屬於乙個共享的變數,每個物件都可以使用這個變數,靜態變數存放的位置是記憶體中方法區

* 靜態變數和非靜態變數的區別 ?

* 共同點:

* 1:都是變數

* 2:都有預設值

* 不同點:

* 1:記憶體位置

* 靜態變數:方法區

* 非靜態變數:堆

* 2:個數

* 靜態變數 :1個 被所有物件共享

* 非靜態變數:多個 每個物件都有各自的1個

* 3:呼叫形式

* 靜態變數: 物件名.變數名 不推薦

* 類名.變數名 推薦

* 非靜態變數:物件名.變數名

* 4:載入時機

* 靜態變數 :類被第一次載入進記憶體的時候,空間就分配好了

* 非靜態變數:當你new物件的時候,才分配空間

*

* 靜態變數和非靜態變數的使用場合

* 根據這個變數是否被物件所共享來判斷這個變數應該定義成哪種變數

* 注意:區域性變數不可以加static關鍵字

public class demo

public static void main(string args)

}

public

class

demo3

* 注意:靜態**塊只能初始化靜態變數,不能初始化非靜態變數

*

* 非靜態**塊: 初始化變數值

* 語法格式

*

* 注意:非靜態**塊可以初始化非靜態變數以及靜態變數

* 注意:靜態**塊只能初始化靜態變數,不能初始化非靜態變數

*

* 非靜態**塊: 初始化變數值

* 語法格式

*

* 注意:非靜態**塊可以初始化非靜態變數以及靜態變數

java 物件導向(2)

有關 關鍵字 private final 和 abstract 1.private private 私有,許可權修飾符 用於修飾類中的成員 成員變數,成員函式 私有只在本類中有效。將age私有化以後,類以外即使建立了物件也不能直接訪問。但是人應該有年齡,就需要在person類中提供對應訪問age的方...

Java物件導向(2)

位置不同 成員變數 類中方法外 區域性變數 方法定義中或方法宣告上 記憶體不同 成員變數 堆記憶體 區域性變數 棧記憶體 生命週期不同 成員變數 隨著物件的建立而存在,隨著物件的消失而消失 區域性變數 隨著方法的呼叫而存在,隨著方法的呼叫完畢而消失 初始化值不同 成員變數 有預設出事值 區域性變數 ...

java基礎 物件導向(2)

一 建構函式 乙個完整的類由屬性和方法構成,其中有一種方法的作用是對物件進行初始化,這種函式就是建構函式 建構函式的特點 1 函式名與類名相同 2 不用定義返回型別 3 不可以寫return語句 4 乙個類可以擁多個構造函,每個建構函式的引數不相同,以過載的形式存在 示例 public class ...