Java — Class(三) — Project(2) === ## **繼承(inheritance)** class可以被繼承,其繼承者可以擁有它的method,property,但需注意是否有權去存取(封裝等級),java中的class拒絕多重繼承,欲使用多重繼承則要用interface. 繼承方法:extends ```java //cat 繼承 animal public classs cat extends animal ``` For instance: ```java public class animal { public String name; private int weight; protected int get_weight() { return this.weight; } } public calss cat extends animal { public void Who() { System.out.println("I am :" + super.name); } public static void main(String arg[]) { cat c1 = new cat() int w = c1.get_weight(); } } ``` ## super,this用法 * **this** :每個class被編譯後都會有this物件,用來表示自己,常被使用在給class設定初使值. ```java= class cat { pulbic String name ; int weight ; public cat(String name,int weight) { this.name = name ; this.weight = weight; } } ``` * **super** :與this用法大致上相同,不過是用來指向你的父class ```java= class animal { pulbic String name ; int weight ; publci animal(String name) { this.name = name ; } public animal(String name,int weight) { this.name = name ; this.weight = weight; } } class cat extends animal { public int hungry_rate ; public cat(String name) { super(name); } public cat(String name,int weight) { super(name,weight); } public cat(String name,int weigh,int hun) { super(name,weight); this.hungry_rate =hun ; } } ``` ###### tags: `java` `教學`