類的方法
無參方法
語法:
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 中建立包,本文章不在細述。
搜尋關注公眾號「享智同行」,第一時間獲取技術乾貨