我首先糾正一下 pp不是指針
它是對象的一個實例.
pp.s是類的屬性
因為 你為 String s = "Hello "; 賦值為 "Hello "所以在
沒有 this.s=s 的這句代碼時屬性s的值肯定是"Hello"
詳細點給你解釋一下吧:
public class A
{
String s = "Hello "; //類的屬性
/*構造方法
*一般用來初始化
*此方法特點與類同名 A */
public A(String s)
{
/*此方法有一個參數 String s (參數s與屬性s同名是個壞的習慣)
*由于參數與屬性同名
*所以要初始化屬性s,首先要先區分出參數s和屬性s (this關鍵字可以作到)*/
System.out.println( "s = " + s);//這個s是參數s所以打印的值應該是 "HelloWorld! "
System.out.println( "1 - > this.s = " + this.s);//這個是屬性s 值是 "Hello "
/*this翻譯成中文就是 '這里 '的意思this代表的是這個類
*this.s=s的意識是:把參數s賦給類的s屬性,
*(如果沒有this你知道那個s是那個s嗎?所以說參數s與屬性s同名是個壞的習慣*/
this.s=s; //賦值后屬性s變成 "HelloWorld! "
System.out.println( "2 - > this.s = " + this.s);//輸出屬性s此時打印 "HelloWorld! "
}
/*程序的入口*/
public static void main(String[] args)
{
A pp=new A( "HelloWorld! ");//new一個實例 系統自動調用構造函數;
System.out.println(pp.s);//打印屬性s 此時值為 "HelloWorld! "
}
}
流程:1.程序的入口.
2.new pp 實例 自動的掉用構造函數 A(String s);
3.執行A方法的代碼
4.執行System.out.println(pp.s);
1.讀萬卷書
2.行千里路
3.閱人無數
它是對象的一個實例.
pp.s是類的屬性
因為 你為 String s = "Hello "; 賦值為 "Hello "所以在
沒有 this.s=s 的這句代碼時屬性s的值肯定是"Hello"
詳細點給你解釋一下吧:
public class A
{
String s = "Hello "; //類的屬性
/*構造方法
*一般用來初始化
*此方法特點與類同名 A */
public A(String s)
{
/*此方法有一個參數 String s (參數s與屬性s同名是個壞的習慣)
*由于參數與屬性同名
*所以要初始化屬性s,首先要先區分出參數s和屬性s (this關鍵字可以作到)*/
System.out.println( "s = " + s);//這個s是參數s所以打印的值應該是 "HelloWorld! "
System.out.println( "1 - > this.s = " + this.s);//這個是屬性s 值是 "Hello "
/*this翻譯成中文就是 '這里 '的意思this代表的是這個類
*this.s=s的意識是:把參數s賦給類的s屬性,
*(如果沒有this你知道那個s是那個s嗎?所以說參數s與屬性s同名是個壞的習慣*/
this.s=s; //賦值后屬性s變成 "HelloWorld! "
System.out.println( "2 - > this.s = " + this.s);//輸出屬性s此時打印 "HelloWorld! "
}
/*程序的入口*/
public static void main(String[] args)
{
A pp=new A( "HelloWorld! ");//new一個實例 系統自動調用構造函數;
System.out.println(pp.s);//打印屬性s 此時值為 "HelloWorld! "
}
}
流程:1.程序的入口.
2.new pp 實例 自動的掉用構造函數 A(String s);
3.執行A方法的代碼
4.執行System.out.println(pp.s);
1.讀萬卷書
2.行千里路
3.閱人無數
屬性:身高=1.8
方法:生氣就摔東西
封裝:以后管“生氣就摔東西”命名為:GF.生氣()
類 :這樣的人,都叫女人
哈哈有一點理解了 這個里面的s 就是身高 HELLO 就是 1.8!~
D:\>java A
s=HelloWorld!
1->this.s=Hello
1->this.s=Hello
Hello
解釋出現問題了。。。我還是看不懂 誰能懂的告訴我