java二面向對象

方法

field ,這個不知道是啥

eg: Person 定義2個field?

class Person{
? ? public String name;//可以對外暴露

? ? public int age;
}

class Person{

????private String name;//不對外暴露 -- 需要調用setName()方法

????private int age;//不對外暴露

}

方法

public void zljmethod(String...names){//可變參數(shù)f};

this變量,方法內部隱含。始終指向當前實例,如果沒有沖突可以省略,如果和局部變量重名必須加上。

構造方法

構造方法.png

方法重載

方法名字一樣,參數(shù)不同。

繼承,同OC

多態(tài),方法調用,取決于運行時期實際類型的方法。

final,修飾的方法不可以被子類重寫。修飾的類不可被繼承。

抽象類 -- abstract 修飾

abstract class Person{
? ? public abstract void run();
}

接口:
interface :比抽象類還要抽象的純抽象接口,不能有字段,方法默認 public abstract? !
interface Person{

? ? void run();

String getName();

}

當一個局的class去實現(xiàn)一個interface 需要用關鍵字 implements 。


接口抽象.png


一個類只能繼承自另一個類,但是可以實現(xiàn)多個interface ,

class Student implemens Person, Hello{}

接口繼承:使用extends?

靜態(tài)字段和靜態(tài)方法

class Person{

? ? public String name;

? ? public int age;

? ? public static int number ;//定義靜態(tài)字段number -- 所有實例共享該字段。

}

static 修飾的方法為靜態(tài)方法。

class Person {
? ? pubic static int number;

? ? public static void setNumber(int value){? //靜態(tài)方法

? ? ? ? number = value;

????}
}

public class Main{

? ? ? ?public static void main(String[] args){

? ? ? ? Person.setNumber(99);//調用靜態(tài)方法

????}

}


作用域

public / protected / private 可以限定訪問作用域。

public 修飾的class? /? interface 可以被其他任何類訪問,

private ,私有

final: 類不被繼承,方法不被重寫,局部變量禁止重新賦值

classpath和jar

classpath jvm用到的一個環(huán)境變量,指示JVM如何搜索class,

jar包

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容