一、繼承的目的
是為了復(fù)用代碼
- 直接用繼承的方法、屬性
- 看不上,自己重寫(xiě)(方法名、參數(shù)類(lèi)型和個(gè)數(shù)都一樣)
二、父類(lèi)
package com.extend;
public class Student {
public String name;
public int age;
public String classNo;
public String shcool;
public void toSchool(){
System.out.println("我是"+name+",我要去"+shcool+"上學(xué)!");
}
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
二、子類(lèi)
package com.extend;
public class MidlleStudent extends Student{
}
package com.extend;
//繼承
public class HighStudent extends Student{
//增加自己的東西
public String biology;
//重寫(xiě)繼承的方法
public void toSchool(){
System.out.println("我是"+name+",我要去"+shcool+"上學(xué)!住宿,從宿舍到教室");
}
}
三、測(cè)試
package com.extend;
public class Test {
public static void main(String[] args) {
Student student=new Student();
student.name="吳令";
student.age=29;
student.classNo="1801";
student.shcool="guoya";
student.toSchool();
System.out.println(student.toString());
MidlleStudent ms=new MidlleStudent();
ms.toSchool();
Student hs=new HighStudent();
hs.name="高中生";
hs.age=18;
hs.classNo="1802";
hs.shcool="果芽";
hs.toSchool();
System.out.println(hs.toString());
Student ms=new MidlleStudent();
ms.toSchool();
}
}
三、java三大特性
- 封裝
- 繼承
- 多態(tài)
練習(xí)
- 寫(xiě)student類(lèi):封裝(把N個(gè)屬性、M個(gè)方法封裝到1個(gè)java類(lèi)里)
- 寫(xiě)MiddleStudent,繼承Student類(lèi):繼承(什么都不用寫(xiě),就具備父類(lèi)所有屬性和方法)
- 寫(xiě)HighStudent類(lèi),繼承Student類(lèi),新增字段,重寫(xiě)toSchool方法
- 寫(xiě)Test類(lèi),new MiddleStudent和new HighStudent,都用Student變量類(lèi)型存儲(chǔ):多態(tài)(Student可以有Midlle和High多種實(shí)現(xiàn)類(lèi)型)
向上轉(zhuǎn)型

HighStudent

Student

Object
其中Object類(lèi)是所有類(lèi)的祖先類(lèi)
java是單繼承體系,一個(gè)類(lèi)只能繼承一個(gè)父類(lèi)
HighStudent hs=new HighStudent();
能用的屬性和方法=HighStudent+Student+Object
Student hs=new HighStudent();
能用的屬性和方法=Student+Object
Object hs=new HighStudent();
能用的屬性和方法=Object