Java入門系列-12-成員方法
類的方法
無參方法
語法:
public 返回值型別 方法名(引數列表){ //方法的主體 }
敲一敲:無返回值方法
public void sayHi(){ System.out.println("你好"); }
沒有返回值返回值型別為 void ,上例中是無返回值。如果方法中有返回值,方法中必須使用關鍵之 return 返回該值,返回值型別為該返回值的型別。
敲一敲:有返回值方法
public class Student { String name; int age; /** * 獲取年齡 * @return */ public int getAge() { return age; } /** * 獲取名字 * @return */ public String getName() { return name; } }
敲一敲:呼叫有返回值方法
public class Main { public static void main(String[] args) { Student stu=new Student(); stu.age=10; stu.name="張三"; //呼叫有參方法1 直接接收返回值 int age=stu.getAge(); System.out.println("年齡:"+age); //呼叫有參方法2 有返回的方法作為一個元素使用 String hello="大家好,我是:"+stu.getName(); System.out.println(hello); System.out.println(stu.getName()); } }
有參方法
定義帶參方法的語法:
<訪問修飾符> 返回型別<方法名>(<形式引數列表>){ 方法的主體 }
引數允許設定多個,宣告時使用的引數叫做形參,呼叫時實際傳入的值叫做實參。
呼叫方法,引數的引數要與引數列表一一對應。
敲一敲:帶參方法的定義和呼叫
public class DemoMethod { public void sayFriend(String name1,int num) { System.out.println(name1+" 有 "+num+" 個好朋友!"); } public static void main(String[] args) { DemoMethod method=new DemoMethod(); String name="張三";//實參 int num=2; method.sayFriend(name, num);//注意順序 } }
陣列和物件也可以作為引數
敲一敲:
public class DemoParam { /** * 模擬Arrays.toString()方法,列印陣列 * @param names */ public void showArray(String[] names) { System.out.print("["); for (int i = 0; i < names.length; i++) { System.out.print(names[i]); if (i<names.length-1) { System.out.print(","); } } System.out.println("]"); System.out.println(); } public static void main(String[] args) { String[] names= {"張三","李四"}; DemoParam demo=new DemoParam(); demo.showArray(names); } }
成員變數和區域性變數
變數宣告的位置不同,作用域也不同,作用域可以確定變數可以在哪些區域訪問。直接宣告在類中的是成員變數,宣告在方法中的是區域性變數。
敲一敲:感受區域性變數和成員變數
public class Student { String name="李四";//成員變數 int age=29;//成員變數 /** * 獲取年齡 * @return */ public int getAge() { int age=10;//區域性變數 return age; } /** * 獲取名字 * @return */ public String getName() { int age=20;//區域性變數 return name; } public static void main(String[] args) { Student stu=new Student(); System.out.println("年齡:"+stu.getAge());//10 System.out.println("名字:"+stu.getName()); } }
成員變數在所有例項方法中都可以訪問
區域性變數只能在當前宣告的方法中使用,多個方法可以宣告相同名字的區域性變數
區域性變數和成員變數名字相同時,當前方法中優先使用區域性變數
java 會給成員變數一個初始值,不會給區域性變數初始值
包
JDK中有大量的類,其中也不乏一些同名的類,那JDK是怎麼區分這些同名的類的?使用包可以解決這個問題。
語法:
package 包名;//宣告包 import 包名;//匯入包 public class 類名{ 成員變數 方法 …… }
宣告一個類所在的名使用 package 關鍵字,package 一定要再所有語句中第一行,且只有一個。
使用某個包中的類使用 import 關鍵字,可以寫多個,寫在 package 的下面,宣告類的上面。
匯入包時可以使用完全限定名,如import java.util.Date;
,或者包中的所有類如import java.util.*;
包和目錄的關係:建立包 com.jikedaquan 相當於建立了目錄結構 com\jikedaquan
包命名規範:包名由小寫字母組成
,不能以圓點開頭或結尾。包名之前最好加上唯一的額字首,通常使用組織倒置的網路域名
如www.jikedaquan.com
的包名為com.jikedaquan
,包名後續部分依不同機構內部的規範不同而不同。
另請搜尋 在 eclipse 中建立包,本文章不在細述。
搜尋關注公眾號「享智同行」,第一時間獲取技術乾貨