java类和方法
1、方法的概念
??方法,就是一段可以被重復利用的代碼的封裝 方法定義五要素:修飾詞,返回值類型,方法名,? 參數列表,方法體。
public static void fun() {// public static修飾詞 void返回值類型 fun方法名 ()內為參數 {}方法體};2、main方法
優先運行main方法 是程序的入口
沒有main方法就沒有程序入口,就沒有Java appliction
public class Demo01 {public static void main(String[] args) {// 優先運行main方法 是程序的入口// 無參方法的調用fun01();// 有參數方法的調用,方法需要一個參數的值,需要按照該方法參數的數據類型給其一個真實有效的值// 有一種特殊的實參,為引用類型// 實參的數據類型必須與形參的數據類型一直或者是形參的子類型fun02("橘子");// 按照參數位置進行傳值fun03(1,"西瓜");//代碼將兩個整數相加 將相加結果返回 關鍵字return,將方法執行結果返回 方法的返回值類型與return后的數據類型有關long num = fun04(10, 15);System.out.println(num);}public static void fun() {// public static修飾詞 void返回值類型 fun方法名 ()內為參數 {}方法體};/*** 沒有參數沒有返回值*/public static void fun01() {System.out.println("北風卷地白草折");};/*** 形式參數,定義方法的時候該參數只有一個形式,沒有實際值,簡稱形參* * @param food*/public static void fun02(String food) {System.out.println("吃" + food);}/*** 吃了若干個xx食物* * @param count 吃的食品數量* @param food 吃的食品名稱*/public static void fun03(int count, String food) {System.out.println("吃了" + count + "個" + food);};public static long fun04(int a, int b) {/*** 代碼將兩個整數相加 將相加結果返回 關鍵字return,將方法執行結果返回 方法的返回值類型與return后的數據類型有關*/return a + b;}; }3、方法重載
在同一個類中方法參數列表不同的同名方法這種表現形式我們成為方法重載
參數列表:參數的數量 參數的數據類型
數據類型不同指的是同一參數位置的參數數據類型不同
public class Demo02 {public static void eat() {System.out.println("吃");}//與上一個方法名相同,但是參數數量不同public static void eat(String food) {System.out.println("吃" + food);}//與上一個方法名相同,但是參數數量不同public static void eat(int count,String food) {System.out.println("吃" +count + "個" + food);}//與上一個方法名相同,參數數量也相同,但是參數數據類型不同public static void eat(String food,int count) {System.out.println("吃" +count + "個" + food);} }4、變量的作用域
-
一個方法中無法讀取另一個方法中聲明的變量
-
聲明在方法中的變量稱為局部變量,僅在局部有效
-
聲明在類中的變量稱之為成員變量
-
當讀取的變量在局部代碼中沒有被聲明,則去找成員變量
-
當讀取的變量在局部代碼中已經被聲明之后,則根據就近原則讀取局部變量,不需要去找成員變量
-
Static修飾的成員變量(靜態成員變量)是可以被該類的所有方法共享的
-
static修飾變量時只能修飾成員變量不能修飾局部變量
-
static修飾的方法稱之為靜態方法,靜態方法只能訪問靜態成員變量
-
static修飾的方法稱之為靜態方法,反之稱之為非靜態方法或普通方法,也就是平時說的方法一般指的是非靜態方法
public class Demo03 {static int a = 30;int b = 40;public static void main(String[] args) {//fun01();//fun02();//fun03();//fun04();fun05();fun06();}public static void fun01() {int x = 10;int y = 20;System.out.println("方法fun01 變量 x >>>" + x);System.out.println("方法fun01 變量 y >>>" + y);}public static void fun02() {int x= 20;System.out.println("方法fun01 變量 x >>>" + x);//一個方法中無法讀取另一個方法中聲明的變量//System.out.println("讀取方法fun01 變量 y >>>" + y);}public static void fun03() {//當讀取的變量在局部代碼中沒有被聲明,則去找成員變量System.out.println(a);}public static void fun04() {//當讀取的變量在局部代碼中已經被聲明之后,則根據就近原則讀取局部變量,不需要去找成員變量int a =20;System.out.println(a);}public static void fun05() {a += 10;System.out.println("fun05執行后a=" + a);}public static void fun06() {a += 20;System.out.println("fun06執行后a=" + a);}public static void fun07() {System.out.println("靜態成員變量a=" + a);//靜態方法之只能訪問靜態成員變量//System.out.println("非靜態成員變量b=" + b);}public void fun08() {//非靜態方法既能訪問靜態成員變量也能訪問非靜態成員變量System.out.println("靜態成員變量a=" + a);System.out.println("非靜態成員變量b=" + b);} }
?
總結
- 上一篇: STM32之MDK分析,分散加载
- 下一篇: HarmonyOS图片,HarmonyO