java 賦值取值

第一:因為B類中的cDCost方法是新建的A類,而默認的A類中的a,b是未賦值的,int默認值為0,所以結果才會顯示為0

第二:因為A類中的aBCost方法本身會輸出"A類中的成本=某值"

第三:B要基於你的A類,可以構造B時,給B中的A賦值。如下:

publicclassB{
//其他不變,添加下面這個變數
privateAa;

//刪除原構造函數,添加新構造函數
publicB(Aa){
this.a=a;
}

//修改cDCost函數如下
publicintcDCost(){
intcCost=c*10;
intdCost=a.aBCost();
//下同
}
}

❷ java 給對象變數賦值this

是的 這是合法的
靜態工廠就是這種

❸ java中的this具體該如何使用呢

this指當前類,this.name就是當前類的name屬性;
this.name="張三";譯作對當前類屬性name賦值張三;

還能取當前類的方法等,主要是指明某個屬性、方法來源,代碼可讀性增強

❹ java類怎樣賦值

類怎來樣賦值?類中包括變自量,屬性和方法,它只會被用來實例化對象後,才會賦值。比如:
public A{
String c;

private void b(){

private String getC(){

return c;
}

private void setC(String c){

this.c=c;

}
}
A a=new A();
a.c="123";

❺ java 中this的用法

用this可以調用本類的屬性,方法,構造方法,
this(x,y,0)是用來調用public
Point3D(int
x,
int
y,
int
z)這個構造方法的,這個時候本類的3個屬性就都有值了:x,y是外來傳入的值,z的值直接就是0了!
為什麼要用this.x=x
,this.y=y
,
this.z=z,是為了區分外來的值名與本類下屬性名的重名,this.x就是調用的屬性!
還可以調用方法,如:this.方法名(),這樣就調用本類下的這個方法!

❻ Java:關於Java中的this,這里為什麼加不加都一樣呢

this是指的對象本身,通過this可以調用本對象擁有的所有方法和屬性,當然不加this也可以調用。

一般用this的情況:

  1. 當局部變數與成員變數相同名時,例如 this,x = x;this.x 是個成員變數,而x是個局部變數

  2. 在myeclipse下用this可以提示後面的方法或者成員變數

  3. 在內部類或匿名內部類中使用this來指向內部類本身

  4. 將類本省作為參數傳遞

❼ java中this的用法

一、指自己所在的對象。
比如在一個方法中,調用其他對象的變數或方法時,可以使用那個對象的對象名,比如aa.abc();
而調用自己所在對象的方法或變數時,不知道別人給起了什麼名,所以直接用this.abc()就可以了。
二、看一個小例子中「this」的用法!

/**

* @author feng-neusoft

*

* 本示例為了說明this的三種用法!

*/

package test;

public class ThisTest {

private int i=0;

//第一個構造器:有一個int型形參

ThisTest(int i){

this.i=i+1;//此時this表示引用成員變數i,而非函數參數i

System.out.println("Int constructor i——this.i: "+i+"——"+this.i);

System.out.println("i-1:"+(i-1)+"this.i+1:"+(this.i+1));

//從兩個輸出結果充分證明了i和this.i是不一樣的!

}

// 第二個構造器:有一個String型形參

ThisTest(String s){

System.out.println("String constructor: "+s);

}

// 第三個構造器:有一個int型形參和一個String型形參

ThisTest(int i,String s){

this(s);//this調用第二個構造器

//this(i);

/*此處不能用,因為其他任何方法都不能調用構造器,只有構造方法能調用他。

但是必須注意:就算是構造方法調用構造器,也必須為於其第一行,構造方法也只能調

用一個且僅一次構造器!*/

this.i=i++;//this以引用該類的成員變數

System.out.println("Int constructor: "+i+"/n"+"String constructor: "+s);

}

public ThisTest increment(){

this.i++;

return this;//返回的是當前的對象,該對象屬於(ThisTest)

}

public static void main(String[] args){

ThisTest tt0=new ThisTest(10);

ThisTest tt1=new ThisTest("ok");

ThisTest tt2=new ThisTest(20,"ok again!");

System.out.println(tt0.increment().increment().increment().i);

//tt0.increment()返回一個在tt0基礎上i++的ThisTest對象,

//接著又返回在上面返回的對象基礎上i++的ThisTest對象!

}

}

運行結果:

Int constructor i——this.i: 10——11

String constructor: ok

String constructor: ok again!

Int constructor: 21

String constructor: ok again!

14

細節問題注釋已經寫的比較清楚了,總結一下,其實this主要要三種用法:

1、表示對當前對象的引用!

2、表示用類的成員變數,而非函數參數,注意在函數參數和成員變數同名是進行區分!其實這是第一種用法的特例,比較常用,所以那出來強調一下。

3、用於在構造方法中引用滿足指定參數類型的構造器(其實也就是構造方法)。但是這里必須非常注意:只能引用一個構造方法且必須位於開始!

還有就是注意:this不能用在static方法中!所以甚至有人給static方法的定義就是:沒有this的方法!雖然誇張,但是卻充分說明this不能在static方法中使用!

❽ 【java考試】this賦值的用法[選擇題]

這個屬於基礎問題。
你這個類的名稱叫做Base,有兩個顯式構造方法Base(int a,int b)(以專下簡稱構屬造A)和
public Base(int a, int b, int c, int d)(以下簡稱構造B),
這個題的意思是要在構造B中對變數x,y進行賦值,也就是 x=a, y=b,而構造A方法中恰好提供了這個解決方案,只要在構造B中調用構造A方法即可。
在java基礎中,在構造方法中調用其他的重載構造方法使用的關鍵字如下:
調用本類的:this()
調用父類的:super()
this字如其意,就是「這個類」的意思,this.x可以讀作"這個類的x變數"。調用構造函數就直接用this(你需要調用的構造方法的參數列表).
super表示調用父類的,很多書籍把父類翻譯成超類,也是對該詞的直接翻譯造成的。
具體的你可以多看下面向對象部分的講解。

❾ java中this的用法問題

this是指對當前對象的引用,例如:
public class Demo{
int a;
public void setA(int a){
this.a = a;//右邊的a是setA中參數的a不是版Demo中的a 左邊的a 是指Demo中的a,這里的this就是為了區分a是誰的權a 這里也就是把右邊的a賦值給左邊

}

}
不理解的可以繼續追問

❿ 為什麼java這賦值操作會改變this的id

一個類的多個實例,當然不行了。搞清楚EmployeeForm在什麼時候初始化的,初始化了幾次才知道原因。你給這些代碼沒什麼意義。把EmployeeForm初始化並賦值的部分粘貼出來,或許能幫你找找