Java入門系列-12-成員方法

要成為王的男人發表於2018-10-26

類的方法

無參方法

語法:

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 中建立包,本文章不在細述。

搜尋關注公眾號「享智同行」,第一時間獲取技術乾貨

相關文章