給對象賦值的方法:
1.對于public修飾的屬性,對象可以在外部直接調(diào)用瞳别。
定義一個(gè)類class Poker{
public String num;
private String number;
private String color;
}
類里面成員變量作用域:是從對象創(chuàng)建到對象被銷毀
創(chuàng)建一個(gè)類 Poker p = new Poker();
可以直接調(diào)用這個(gè)類的num屬性:p.num = 'A';
2.對于private修飾的方法,不能直接在這個(gè)類外部調(diào)用征候,只能間接使用
setter/getter方法
(1)在這個(gè)類里面先定義它的set和get方法,方便外部的對private修飾的變量進(jìn)行賦值和調(diào)用祟敛。給外部提供一個(gè)set方法疤坝,通過這個(gè)方法間接給number賦值,可以對外部給的值進(jìn)行控制垒棋。給外部提供一個(gè)get方法卒煞,訪問某個(gè)變量的值。
在外部set方法對number進(jìn)行賦值
構(gòu)造方法:創(chuàng)建一個(gè)類的對象的時(shí)候叼架,就會(huì)被調(diào)用的方法(自定義)
每個(gè)類被創(chuàng)建后會(huì)默認(rèn)提供一個(gè)構(gòu)造方法畔裕,上面Poker類的默認(rèn)構(gòu)造方法為:
public Poker(){
}
使用構(gòu)造方法情況:
b.在對象創(chuàng)建的時(shí)候,需要給屬性賦值(都可以)
運(yùn)行結(jié)果如下扮饶。從結(jié)果可以看出創(chuàng)建對象的同時(shí)就調(diào)用了構(gòu)造方法具练,在構(gòu)造方法內(nèi)可以對變量賦值,但一般不這樣做甜无,而是通過自定義構(gòu)造方法賦值
(2)自定義構(gòu)造方法的定義
調(diào)用自定義構(gòu)造方法并通過參數(shù)對變量賦初值
this的使用
上面自定義構(gòu)造方法時(shí)扛点,參數(shù)名和變量名相同,那么怎樣通過參數(shù)對變量復(fù)制呢岂丘?這時(shí)就需要用到this陵究,因?yàn)橥ǔ=o一個(gè)屬性賦值,形參名盡量和屬性名一致奥帘,而變量在使用時(shí)有就近原則铜邮。因而使用this.來賦值。如上面:this.number = number;
this.color = color;
a.這里的this指的是:創(chuàng)建的這個(gè)對象pp2;
b.調(diào)用構(gòu)造方法的時(shí)候,這個(gè)對象在內(nèi)存里面已經(jīng)分配好了內(nèi)存空間,所以可以直接用this對屬性進(jìn)行賦值寨蹋。
c.什么時(shí)候需要用this呢松蒜?當(dāng)需要明確指定調(diào)用的是自己的一些屬性和方法的時(shí)候.
3.方法重載:同一個(gè)類里面有多個(gè)同名的方法,但是返回值或者參數(shù)不同
例如public int NextInt();
public int NextInt(int i);
構(gòu)造方法的重載 就是自定義寫一個(gè)有參數(shù)的構(gòu)造方法已旧。