此總結來自B站中 動力節點, 感謝老師的辛勤講解。總之優秀還有很多沒有學會,要加油吖
文章目錄:
- 此總結來自B站中 動力節點, 感謝老師的辛勤講解。總之優秀還有很多沒有學會,要加油吖
- 1、 break 與 continue 區別
- 栗子:
- 2、while(){} 與do....while (){}
- 3、super和this
- 4、方法的本質是什麼?
- 4.2、形式參數列表:簡稱形參
- 5、方法的重載?Overload
- 6、創建類的屬性
- 7、封裝
- 8、繼承 extend
- 1、繼承基本的作用?
- 2、在Java語言當中子類繼承父類都繼承哪些數據?
- 3、關於繼承中的一些術語:
- 4、關於Java語言中方法的覆蓋:
- 4.1、方法的覆蓋又被稱爲方法的重寫,英語單詞:Override
- 4.2、什麼時候使用方法的重寫?
- 4.3、什麼條件滿足之後方法會發生重寫呢?
- 4.4 注意點:
- 9、多態:
- 1、向上轉型:子類指向父類型。又被稱爲:自動類型轉換。
- 2、向下轉型:父類指向子類型。又被稱爲:強制類型轉換。【需要加強制類型轉換符】
- 3、需要記憶:無論是向上轉型還是向下轉型 兩種類型 之間必須要有繼承關係。沒有繼承關係,編譯無法通過的。
- 4、多態的作用是什麼?
- 多態總結:
- 10 、靜態代碼塊:
- 11、棧、堆、方法區、
- 12、final關鍵字
- **【轉載註明出處,還望尊重原創 】**
- 《要相信自己吖. 》
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;