2019/4/5

今日計劃(已經完成的):

閱讀了關於semantic segmentation的某一篇綜述文獻
《瘋狂的java講義》——169~183
  • 和equals之間的區別和聯繫
    在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述對於一般的equals()方法,使用的結果和
    是一樣的,只是在String中重寫了這個方法。
    equals()是來自Object的方法,因此我們可以自己重寫這個方法,極端情況下可以使得dog對象和cat對象相等。

  • 類成員
    在這裏插入圖片描述在這裏插入圖片描述類變量的生存範圍幾乎等同於類的生存範圍。
    2、通過對象訪問類變量實質上是通過類在訪問類變量。
    在這裏插入圖片描述3、
    在這裏插入圖片描述

  • 單例類
    1、如果一個類只能創建一個實例,那麼他就是單例類。
    在這裏插入圖片描述在這裏插入圖片描述

  • final修飾符
    1、
    在這裏插入圖片描述

  • final成員變量
    在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述!!!!好好看看176面的例子,記住不能在普通方法中給final變量賦值。
    而且,系統不會對final變量進行隱式賦值,只會對普通變量進行隱式初始化。
    所以說,沒有初始化之前不能訪問,會報錯。

-final局部變量
系統不會對局部變量進行初始化,必須由程序員進行初始化。
1、
在這裏插入圖片描述在這裏插入圖片描述

  • final修飾基本類型變量和引用類型變量的區別
    1、
    在這裏插入圖片描述看一個小例子:
    在這裏插入圖片描述在這裏插入圖片描述
    @@@@@@我想到了下面這種情況,試一試這種情況下會有什麼變化:
public class Base2{
	public  static void main(String[] args) {
		final int a=5;
		int b=a;
		a=b;
	}
}

經過我的嘗試,發現這種情況居然會報錯,也就是說即使是同一個變量或者是引用也不行,使用String也不可以。

-6.4.4、可執行宏替換的final的變量
1、
在這裏插入圖片描述
2、
在這裏插入圖片描述
注意看一下179上面的那個例子
兩個字符串相加,在編譯的時候就會生成一個字符串,在常量池中。

179面上面的例子還說明了,需要調用類方法的也不會在編譯的時候確定數值,也就不是宏變量。

如下面的例子:
在這裏插入圖片描述
3、
在這裏插入圖片描述
@@@按照我的理解需要這樣進行驗證,但是驗證的結果表示沒有問題啊~~~

public class Base2{
	final String s1;
	final String s2="cheng";
	public Base2(final String s) {
		s1=s;
	}
	public  static void main(String[] args) {
		String s="cheng";
		Base2 b=new Base2(s);
		System.out.println(b.s1==b.s2);

	}
	
}

//答案是True,下面的答案依然是True
public class Base2{
	final String s1;
	final String s2="cheng";
	public Base2() {
		s1="cheng";
	}
	public  static void main(String[] args) {
		String s="cheng";
		Base2 b=new Base2();
		System.out.println(b.s1==b.s2);

	}
	
}

  • final方法
    1、final修飾的方法不能被重寫,但是能夠被重載。180面上面
    private修飾的函數可以被重寫,因此private final修飾的函數可以被重寫。

  • 6.4.6、final類
    1、final修飾的類是不會有子類的。

  • 6.4.7、不可變類
    1、
    在這裏插入圖片描述在這裏插入圖片描述

@@@@@hashcode()是什麼意思~~~~~~是幹啥的,最後這一部分沒有看明白啊

2、
在這裏插入圖片描述
仔細看一下183面上面的例題。

今天先到此結束~~~~

以上如有錯誤,歡迎批評指正,書籍《瘋狂java講義》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章