天天看點

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 相當于建立了目錄結構 comjikedaquan

包命名規範:包名由小寫字母組成,不能以圓點開頭或結尾。包名之前最好加上唯一的額字首,通常使用組織倒置的網絡域名如

www.jikedaquan.com

的包名為

com.jikedaquan

,包名後續部分依不同機構内部的規範不同而不同。

另請搜尋 在 eclipse 中建立包,本文章不在細述。

搜尋關注公衆号「享智同行」,第一時間擷取技術幹貨

繼續閱讀