JAVA入門學習初步總結3 方法類繼承多型等

wangsys發表於2021-09-09

1.void不能用return 返回函式只能是一個
return a+b; (可以) return b; (可以) return c=a+b; (錯的!)
2.過載:引數的個數,順序,型別不同。

ps: 重寫是子類的方法覆蓋父類的方法,要求方法名和引數都相同(應用於子類和父類的繼承中,他主要是對父類完不成,達不到的功能進行重寫)
過載是在同一個類中的兩個或兩個以上的方法,擁有相同的方法名,但是引數卻不相同,方法體也不相同(過載用於同一個類中 同一個函式名,但是幹什麼卻不一樣)

3.類是個模子,是一個抽象的概念,實際世界不存在,用來描述物件將會有的屬性(有什麼)和方法(能幹什麼),而物件是一個實體,是實實在在存在的。

  1. 成員變數在類中,區域性變數在方法中。
    5.建構函式:
    main(){
    Telphone phone=new Telphone();//後邊這個Telphone就是建構函式
    }
    class Telphone(){
    public Telphone(){} //無參
    }
    建構函式其實就是說的如上的這個東西,但是當沒有專門在Telphone中指定Telphone,就會自動預設新增了無參的構造方法,預設即為上所示。如果指定了建構函式,都會不會自動預設新增了 ,會執行新增指定了的建構函式
    ep:class Telphone(){
    System.out.println("會執行這個");
    }
    在將預設的建構函式改成上邊ep的建構函式之後就會執行上邊的建構函式。

6 static
靜態修飾符
就是共享一個成員 可以透過類名 類名.成員變數 /透過物件 HelloWorld hello=new HelloWorld(); hello.變數名等等。
總結的來說
1)靜態方法可以直接呼叫同類的靜態成員,不可以呼叫非靜態成員,必須如上邊兩行寫的那樣,新建一個物件。
2)普通成員變數可以直接訪問同類中的靜態和非靜態的變數(可以直接用,前邊不用加修飾。)
3)同理,靜態的方法也不可以直接呼叫普通的方法,還是得建立物件。

後來實在想不通,這個靜態成員變數有啥具體的好處,看了一個例子,於是明白
ep: int a;int b;
public test(int a,int b){int c=a+b;}
可如果在之前 static int a; static int b;
這個東西就不用這麼寫了
public test(){
int c=a+b; //不用引用引數引入,static就起到了共享的作用
}

  1. 封裝,繼承和多型
    封裝沒有看多少,直接跳過了。如果後來要用請再看。
    繼承:JAVA都是單繼承的
    右鍵 super 選好父類會自動生成如下:
    class Dog extends Animal(){} //Dog類繼承Animal類。
    在這兩個類之外,還要一個main類,即測試類。
    1)測試類 包含主函式 2)父類 3)子類

    這裡重新提到了重寫這個問題。重寫就是都相同的條件下實現更為複雜或者有差別的功能。過載就是要在同個類中寫名字一樣,但行駛職責不同的方法。

  2. final 的使用
    修飾類的時候,這個類不允許被繼承
    修飾方法的時候,不允許重寫
    修飾屬性的時候,不能在其他地方修改屬性
    修飾變數的時候,只能賦一次值

10 super的使用
super.age/eat(); //父類物件的屬性或方法
有四點:
1)子類的建構函式必須呼叫其父類的建構函式
2)子類沒寫,就預設呼叫父類的無參的建構函式
3)子類寫了,必須寫第一行 super();
4) 子類沒寫,而父類又沒有無參的構造(只有有參的)就會報錯。

11 object 物件
這個物件作為JAVA的主物件 (最原始的父類)
這個課程主要介紹了兩個
1)toString
2)equals(比較兩個物件的儲存位置)
這裡問題就來了 ,Object的這倆方法不能滿足我們的功能的時候,就要在子類中重寫,點選eclipse左上角的的sourse下邊有IDE提供的重寫。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3244/viewspace-2807551/,如需轉載,請註明出處,否則將追究法律責任。

相關文章