Java 語法總結 與 回顧

此總結來自B站中 動力節點, 感謝老師的辛勤講解。總之優秀還有很多沒有學會,要加油吖

1、 break 與 continue 區別

1、continue:表示繼續執行下一次循環。
2、break: 	表示中斷本次循環。滿足條件即跳出循環。

栗子:

for MyExer : for (int i =0;i<10; i++){
if(i == 6){
	continue  MyExer;
	break;
}
System.prtln("i="+i);
} 
System.out.println(....)

2、while(){} 與do…while (){}

while() 		先判斷在執行。
do... while (); 先執行在判斷。。

3、super和this

super和this的用法相同:this代表本類應用 ;super代表父類引用 。

this 是一個關鍵字,翻譯爲這個:
1、this 是一個引用,this 是一個變量,this 變量中保存了內存地址值本身,this存儲在JVM堆內存Java 對象內部。
2、this 出現可以出現在"實例方法"當中,this 指向當前正在執行這個動作的對象。this代表本類對象
3、this 不能出現在帶static 關鍵字的方法中。

4、方法的本質是什麼?

方法就是一段代碼片段,並且這段代碼片段可以完成某個特定的功能,並且可以重複的使用。。

– 方法是定義在類體當中,在一個類中可以定義多個方法,方法編寫的位置沒有先後順序。。。

注意點:方法體中不能定義方法.

4.2、形式參數列表:簡稱形參

形參是局部變量: int a, int b ,String name, String age,
形參的個數據可以是:0 - N個
多個形參之間用 :"逗號" 隔開
形參中起決定性因素的是形參的數據類型,形參的名字就是局部變量的名字...
方法在調用的時候,實際給這個方法傳遞的真實數據被稱爲 :實際參數(實參)
					int a,int b 是形參列表
public static int  sum(int a,int b){

sum(10,20)
}

public static void sumint (int a, int b){
修飾符列表 返回值類型 方法名 (形式參數列表)

int c =a+b
	方法體。

System.out.println(a+ " + "  + b + " - " +c );
}

public class MethodTest{
Main 方法
// 調用 MethodTest.m
m 可以省略
}
public static void m(){

System.out.println(“My Name is ZHIQIANG”);
}

5、方法的重載?Overload

程序員調用方法的時候,比較方便,雖然調用的是不同的方法,但是就感覺使用一個方法。
代碼美觀。
前提:功能相似的時候,方法名可以相同。

栗子:
public class Overload{
	main 方法
	System.out.println(sum(1,2))
	
	}

public static int sum(int a, int b){
		System.out.println("sum(a+b)")
	return a+ b;
}

	// 形參
public static  long sum (long a, long b){
		System.out.println("sum(a+b)")
	return a+ b;
}
3.1什麼時候使用方法的重載?
	功能相似的時候,方法名盡肯能讓方法名相同。
	【但是:功能不同/不相似的時候,儘可能讓方法名不同】
3.2什麼條件滿足之後構成了方法的重載?
	在同一個類當中
	方法名相同
	參數列表不同:
			-參數不同
			-順序不同
			-類型不同
	栗子:
	public class OverloadTest{
		
	--------------以下兩個方法構成了重載--------------------
	public 	static  void m1(){}
	public 	static  void m1(int a){}
	
	--------------以下兩個方法構成了重載--------------------
	public  static void m2( int a,double b ){}
	public static void m2 (double a,int b){}
	
	-------------以下兩個方法構成了重載---------------------
	public static void m3(int x){}
	public static void m3(double x){}
	}			
	## 形參中決定關鍵因素的是數據類型。。
	
3.3方法重載和什麼有關係,和什麼沒有關係?
	1、方法重載和方法名+參數列表有關係
	2、方法重載和返回值類型無關
	3、方法重載和修飾符列表無關

在這裏插入圖片描述

6、創建類的屬性

手動賦值

Person p = new Person();
String name =" Baby"
String age =“19”;

System.out .println(P.name);
System.out .println(P.age);


7、封裝

 1、set and get 方法沒有static關鍵字
2、有static關鍵字修飾的方法怎麼調用:類名.方法名(實參);
	
3、沒有static關鍵字修飾的方法怎麼調用:引用.方法名(實參);

4、 coustem c = new coustem();
	c 是引用數據類型
	c.屬性。

關於Java類中的構造方法:

1、構造方法又被稱爲構造函數/構造器/
2、對於構造方法來說,構造方法的方法名必須和類名保持一致。
3、構造方法的作用?
構造方法的意義是,通過構造方法的調用,可以創建對象。
1、創建對象
2、給實例變量賦值
3、
4、構造方法怎麼調用?
-普通方法的調用:方法修飾中有static的時候: 類名.方法名(實參列表)、

				方法修飾中沒有static的時候:引用.方法名(實參列表)

-構造方法的調用:new 構造方法名(實參列表)

5、構造方法調用之後,有返回值嗎?
每一個構造方法實際上執行結束之後都有返回值,但是這個"return 值"這樣的語句不需要寫。構造方法結束的時候Java程序自動返回值。
並且返回值類型是構造方法所在類的類型,所以不需要寫返回值類型。

6、當一個類中沒有定義任何構造方法的話,系統默認給該類提供一個無慘的構造方法,這個構造方法被稱爲缺省構造器。
//有參數的構造方法
栗子:public User(int i){
System.out.println(“int 類型參數的構造器”);
}
//有參數的構造方法
public User(int i ,String name){
System.out.println(“帶有int,String類型的構造器”);
}
//創建User對象
//調用User類的構造方法來完成對象的創建
User u =new User();
User u2 = new User(10,“張三”);
以上程序創建了2個對象,只要構造函數調用就會創建對象,並且一定是"堆內存中"開闢內存空間。


1、get set 方法;
2、提供有參、無參
3、
Customer c2 =new Customer(1111,"張三 ",“1980-7-11”);
System.out.println(c2.getno());
System.out.println(c2.getname());
System.out.println(c2.brith());
4、
// 實例變量如下:
int i= 10;
// 實例方法如下:
public void dosome(){

}

8、繼承 extend

1、繼承基本的作用?
1、代碼複用
2、有了繼承纔有了以後 "方法的覆蓋” 和 “ 多態機制”;

繼承的概念?
java 語言當中的繼承只有單繼承,一個類不能繼承很多類,只能繼承一個類。

2、在Java語言當中子類繼承父類都繼承哪些數據?
  • 私有的不支持繼承
  • 構造犯法不支持繼承
  • 其他數據都可以被繼承
3、關於繼承中的一些術語:

B類繼承A類,其中:
A類稱爲:父類、基類、超類、superclass
B類稱爲:子類、派生類、subclass

4、關於Java語言中方法的覆蓋:
4.1、方法的覆蓋又被稱爲方法的重寫,英語單詞:Override
4.2、什麼時候使用方法的重寫?
當父類中的方法已經無法滿足當前子類的業務需求,
子類有必要將父類中繼承過來的方法進行重寫,
這個重新編寫的過程稱爲:方法重寫、方法覆蓋。
4.3、什麼條件滿足之後方法會發生重寫呢?
  • 方法重寫發生在具有繼承關係的父子類之間
  • 返回值類型相同,方法名相同。形參列表相同。
  • 訪問權限不能更低。。。
4.4 注意點:

【 建議在方法重寫時儘量複製、黏貼、容易出錯、導致沒有產生覆蓋 】。
私有方法不能繼承,所以不能覆蓋。
構造方法不能繼承,所以不能覆蓋。
靜態方法不存在覆蓋。
覆蓋只針對方法,不談屬性。

9、多態:

1、向上轉型:子類指向父類型。又被稱爲:自動類型轉換。
2、向下轉型:父類指向子類型。又被稱爲:強制類型轉換。【需要加強制類型轉換符】
3、需要記憶:無論是向上轉型還是向下轉型 兩種類型 之間必須要有繼承關係。沒有繼承關係,編譯無法通過的。
4、多態的作用是什麼?

降低程序的藕合度,提高程序的擴展力。
能使用多態,儘量使用多態。
父類指向子類型對象。


多態總結:

成員訪問特點
成員變量
編譯看左邊,運行看左邊
成員方法
編譯看左邊,運行看右邊
靜態方法
編譯看左邊,運行看左邊
所以前面我說靜態方法不能算方法的重寫

10 、靜態代碼塊:

在這裏插入圖片描述

11、棧、堆、方法區、

在這裏插入圖片描述

這個還沒理解,先學會語法在補這塊,過!!!!!

12、final關鍵字

1、final關鍵字是最終的意思,可以修飾類,成員變量,成員方法。
修飾類,類不能被繼承
修飾變量,變量就變成了常量,只能被賦值一次
修飾方法,方法不能被重寫

2、final 修飾的實例變量是不可變的,這種變量一般和static 聯合使用,被譯爲:“常量”

package iwork3;

import iwork2.stitic;

/**

  • 需求:每一個中國人的國際都是中國人,而且國籍不會改變,為了防止國籍被修改,建議加final;
  • @author Administrator

*/
public class FinalTest {
public static void main(String[] args) {
System.out.println(chinese.country);
}
}

/**

  • 常量的語法格式如下:
  • public static final 類型 變量名 = “值”;
    */
    class chinese {
    public static final String country =“我是中國人。。。。。”;
    }

在這裏插入圖片描述

【轉載註明出處,還望尊重原創 】

 

《要相信自己吖. 》

 

【作者水平有限,如有錯誤歡迎指正 .】

地址:上海,天氣晴,時間:2020-6-14 12:19;
在這裏插入圖片描述

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