JAVA學習筆記二:類的繼承、多態性

一、類的繼承

①類的繼承的概念

    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 

        { }

super關鍵字的使用

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中的函數。

結果爲:我是小明,我讓老師滾出去!

發佈了59 篇原創文章 · 獲贊 60 · 訪問量 46萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章