一、類的繼承
①類的繼承的概念
java類的繼承可用下面的語句來表示
class 父類 //定義父類
{ }
class 子類 extends 父類 //用extends關鍵字實現類的繼承
{ }
example:
<span style="font-size:18px;"> </span><span style="font-family:Times New Roman;font-size:14px;">package projiect;
class Study
{
String name;
}
class Hard extends Study
{
String result;
}
public class test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Hard s=new Hard();
s.name="我";
s.result="愛學習";
System.out.println(s.name+s.result);
}
}</span>
結果:我愛學習
當然還有多層繼承(父類A)——(父類B)——(父類C)——子類,可用寫成如下:
class A
{ }
class B extends A
{ }
class C extends B
{ }
example:
<span style="font-family:Times New Roman;font-size:14px;">package projiect;
class Person
{
String name;
int age;
public String talk()
{
return "我是:"+this.name+",今年:"+this.age+"歲";
}
}
class Student extends Person
{
String school;
public Student(String name,int age,String school)
{
super.name=name;
super.age=age;
System.out.print(super.talk());
this.school=school;
}
}
public class test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student s=new Student("小明",23,"UCAS");
System.out.println(",學校:"+s.school);
}
}</span>
結果:我是:小明,今年:23歲,學校:UCAS如果要限制子類繼承父類的話,在父類中,可以用private申請私有變量。
二、類的多態性
直接用一個範例介紹多態性
<span style="font-family:Times New Roman;font-size:14px;">package projiect;
class Person
{
public void talk1()
{
System.out.print("我是小明");
}
public void talk2()
{
System.out.print(",老師讓我滾出去!");
}
}
class Student extends Person
{
public void talk3()
{
System.out.print("我是小明");
}
public void talk2()
{
System.out.print(",我讓老師滾出去!");
}
}
public class test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p=new Person(); //優先用父類Person裏面的函數
p.talk1();
p.talk2();
}
}</span><span style="font-family:KaiTi_GB2312;font-size:18px;">
</span>
結果爲:我是小明,老師讓我滾出去!
如果把Person p=new Person();改爲Person p=new Student();//這是優先利用子類Student中的函數。
結果爲:我是小明,我讓老師滾出去!