天天看點

Java 類方法相關

public class TestFour {
    /**
    方法注意事項:
    1.方法必須聲明到類當中
    2.建立方法要定義在其他方法之外,跟其他的方法是兄弟關系
    3.定義方法不分先後順序
    4.如果一個方法前面有static,那麼在該方法當中調用其他的方法前面也應該有static關鍵字修飾
    5.一個類當中可以寫多個方法
    6.同一個類中兩個方法名稱不能相同
    7.方法必須要先有定義才能再執行
     */


    //定義一個方法,方法命名用駝峰命名法
    public static void funTest(){
        System.out.println("方法測試111");
    }

    //方法的完整形式
    //[修飾符] 傳回值類型 方法名([形式參數...]){代碼塊  [return值]}
    //void 傳回值為null,什麼都不傳回,如果有傳回值必須要有return
    public static void funTest2(String res){
        System.out.println(res);
    }

    public static void funTestAdd(int a,int b){
        //多參數用逗号隔開,參數傳遞要類型一緻
        System.out.println(String.format("%s+%s=%s",a,b,a+b));
        int res = add(a,b); //調用add()方法,接受方法的傳回值的結果的類型要正确
        System.out.println(res);
    }

    public static int add(int a,int b){
        //多參數用逗号隔開,參數傳遞要類型一緻
        System.out.println(String.format("%s+%s=%s",a,b,a+b));
        int addResult = a+b;
        return addResult;
    }

    public static String stringAdd(String a,String b){
        String strAdd = a + b;
        return strAdd;
    }

    //寫一個登陸方法
    public static boolean login(String username,String password){
        if (username=="zhangsan" && password == "1234"){
            System.out.println("登陸成功!");
            return true;
        }else {
            System.out.println("登陸失敗!");
            return false;
        }
    }

    //方法重載:
    //方法名稱必須相同,參數清單必須不同,參數類型和個數不同
    //方法的傳回類型可以相同也可以不同
    //僅僅傳回類型不同不足以稱為方法重載
    public static int sum(int a,int b){
        return a+b;
    }
    public static double sum(double a,double b){
        return a+b;
    }



    public static void main(String[] args) {
        //程式執行入口調用funTest方法
        funTest();
        funTest2("what are you nong sha ne?");
        funTestAdd(2,3);
        //調用字元串拼接方法
        String res = stringAdd("123","abc");
        System.out.println(res);
        //調用登陸方法進行登陸
        boolean loginRes= login("zhangsan","123");
        System.out.println(String.format("登陸結果:%s",loginRes));


        //方法重載
        int s = sum(1,2);
        double t = sum(1.1,1.2);
        System.out.println(String.format("int sum %s , double sum %s",s,t));

    }
}




---------------------------
public class TestEightPerson {
    //定義一個名字TestEightPerson的類,檔案名相同,如果類名與檔案名不同,去掉public修飾,一個檔案中可以有多個類,但是隻能有一個是public修飾;
    // 在不同檔案中的類名也不能重複命名;
    //特征狀态,變量描述,定義在類中的變量->成員變量
    String name; //姓名
    int age; //年齡
    double height; //身高

    //行為:通過定義方法來表示其行為
    void sing(){
        System.out.println(String.format("%s 唱歌",name));
    }

    void dance(){
        System.out.println(String.format("%s 跳舞",name));
    }

    void show(){
        System.out.println(String.format("%s 身高 %s, 年齡 %s",name,height,age));
    }
}

class Test{

    public static void main(String[] args) {
        //初始化上面的類,每個對應都有自己的狀态,對應的屬性
        TestEightPerson person = new TestEightPerson();
        // 指派成員變量的屬性值
        person.age = 18;
        person.name = "張無忌";
        person.height = 1.75;

        //執行行為,調用對象中的方法
        person.show();
        person.dance();
        person.sing();

        //初始化另一個對象
        TestEightPerson people = new TestEightPerson();
        //成員變量未指派的時候,字元串為null,數字為0
        people.show();

        //建立一個匿名對象,沒有變量引用建立對象的位址;
        //當這行代碼執行完成後,就會被垃圾回收
        new TestEightPerson().name="張三";
        System.out.println(new TestEightPerson().name);




    }
}


----------------------

public class TestTen {
    String name;
    int age;

    //構造器 用來初始化類的成員變量
    TestTen(String name,int age){
        this.name = name;
        this.age = age;
    }

    public void show(){
        System.out.println(String.format("姓名: %s",name));
        System.out.println(String.format("年齡: %s",age));
    }
}

class Test2 {
    public static void main(String[] args) {
        new TestTen("張三",18).show();

        TestTen testTry = new TestTen("王小二",20);
        testTry.show();
    }
}
--------------

public class TestSeven {
    //面向過程程式設計,站在過程的角度思考問題,強調的就是功能行為,功能執行過程
    //即是先幹啥,後幹啥,而每一個功能我們都使用函數類似的方法把這些步驟一步一步實作,使用的時候一次調用函數就可以了,按順序一個一個的來去做

    //面向過程的設計, 最小的程式單元是函數,每個函數負責完成某一個功能用以接受輸入資料,函數對輸入是資料進行處理,然後輸出結果資料
    //整個軟體系統由一個個的函數組成,其中作為程式入口的函數稱之為主函數
    //主函數依次調用其他函數,普通函數之間可以互相調用,進而實作整個系統功能



    //面向對象,萬物皆對象,對象具體的物體,擁有屬性狀态,擁有行為,把零散的東西封裝到一個整體。
    //面向對象的三大特征:
    // 1.封裝  将對象實作細節隐藏起來,然後通過公共方法向外暴露該對象的
    // 2.繼承  
    // 3.多态

}


-------------------