20220718 十組 袁清清
Java學習序列4
今日重點
-
面向對象
-
訪問權限修飾符
-
成員方法
-
方法的重載
-
不定長參數
-
構造器
面向對象
把整個需求按照特點,功能劃分,將這些存在共性的部分封裝成類,類實例化之后才是對象,讓對象解決問題。
例子:送一個人一個物品,找個店,買個東西,不管是店家還是物品都是現實存在的,這個店家和物品都可以是對象,
所有的類都是數據類型,都是引用數據類型,引用數據類型的默認值為null
成員變量:變量聲明在類里
在JAVA中,萬事萬物皆是對象。
在Linux中,萬事萬物皆是文件。
訪問權限修飾符
1.public 共有的,公共的 權限最大,只要是public聲明的方法,只要在同一個工程中,都能用。
·可以放在類、屬性、方法、構造器上
2.protected 受保護的:可以跨包,如果跨包必須是它的子類
可以放在屬性、方法、構造器上
3.默認的(啥也不寫)default:只有當前包下可以訪問(把包導進來也不行)
·可以放在類、屬性、方法、構造器上
4.private 私有的 權限最小,只有在當前類才能用
·可以放在屬性、方法、構造器上
成員方法
public :訪問權限修飾符
void :沒有返回值
run( ):方法名(標識符)
{ }:方法體(這個方法要干哪些事)
( ):傳參數
參數可以有多個,中間用逗號隔開
Java中的傳參需要明確數據類型
在聲明方法時,括號里的參數:形式參數(形參),可以當做局部變量使用
在調用方法時,形參是在聲明處,實參是在調用處
標識符的命名規則:
字母,數字,下劃線,美元符號,數字不能開頭
1、類名:大駝峰
2、屬性名、方法名:小駝峰
案例
public void run(int gasoline,String tire){
if(gasoline == 92){
System.out.println("92號汽油跑的很快!");
return;
}else if(gasoline == 95){
System.out.println("95號汽油跑的更猛");
}else {
System.out.println("你加了假油吧?");
}
System.out.println(brand + "在漂移!");
}
方法重載
1.方法名相同
2.參數不同才能構成方法的重載
(1)參數的類型不同
(2)參數的個數不同
(3)參數的順序不同
與返回值類型無關;與訪問權限修飾符無關;與方法體無關。方法的重載只跟參數有關
3.方法的重載一定是發生在同一個類里
案例
public class Ch03 {
public int max(int num1,int num2) {
return num1 > num2 ? num1:num2;
}
public int max(int num1,int num2,int num3){
int a = (num1 > num2 ? num1 : num2);
return a > num3 ? a : num3;
}
public static void main(String[] args) {
Ch03 c = new Ch03();
c.max(1,2,3);
}
不定長參數
-
參數列表中最多有一個不定長參數
-
不定長參數必須在最后
案例

構造器
語法:訪問權限修飾符 類名(參數列表){}
構造器特點:
-
java在new對象的時候,先看對象所對應的類有沒有構造器,如果沒有,則無法創建對象
-
每個類會有一個的默認的無參的構造器
-
在對象被實例化時調用了構造器
-
類名 對象名=new 構造器
-
創建對象是通過構造器創建的
-
如果一個類中顯示了聲明了一個構造器,默認的無參構造器就失效
可以重載
今日總結
今天主要講了Java的面向對象,早上的課聽起來一點也不費勁,下午的就有點蒙了,感覺不同的類之間頻繁的調用,自己有點反應不過來,有的要傳參數有的又不用,沒太分清,就是覺得下午的有點雜,自己把知識點結合起來用的能力不是很好。

浙公網安備 33010602011771號