Java基礎班 第九天(中)

2021-08-28 18:12:02 字數 2425 閱讀 8623

第九節 抽象類概述

抽象類特定:

a  抽象類和抽象方法必須用abstract修飾,抽象方法只有小括號,沒有大括號

b抽象類不一定有抽象方法,有抽象方法的類一定是抽象類

c 抽象類不能直接例項化,如果想例項化,那就是必須使用多型

d抽象的子類 要麼是抽象類,要麼是重寫所有的抽象方法。

class demo1_abstract 

}abstract class animal

class cat extends animal

}

第十節 抽象類的成員特定

a 抽象類特定 

a 成員變數,既可以是變數 也可以是常量 不能用abstract修飾

b構造方法  抽象類是有構造方法的

c 成員方法,成員方法可以是抽象的,也可以是非抽象的

b 案例演示

c 抽象類的成員方法特性 

a 抽象方法 強制要求子類做的事情

b 非抽象方法 子類可以繼承的方法  不需要單獨寫出來就可以繼承 使用

//第十節** 

class demo2_abstract

}abstract class demo

int num1 = 10;

final int num2 =20;

public void print()

public abstract void method();

} class test extends demo

}

第十一節 

這節的內容主要是讓你懂得 抽象方法是必須讓你做的事情

class demo3_葵花寶典 

}abstract class 葵花寶典

class 岳不群 extends 葵花寶典

}class 林平之 extends 葵花寶典

}

第十二節 

這個**就是乙個抽象的練習,其中需要注意的是子類中的有參構造方法,是super(name,age),自己寫的不對,然後這個**是在 第九天 重點那個資料夾裡

class test_abstract 

}abstract class animal

public animal (string name, int age)

public void setname(string name)

public string getname()

public void setage(int age)

public int getage()

public abstract void eat();

}class cat extends animal

public cat(string name,int age)

public void eat()

public void catchmouse()

}class dog extends animal

public dog(string name,int age)

public void eat()

public void lookhome()

}

第十四節

這個 也是抽象類的乙個練習 裡面有兩個需要注意,在子類中,構造方法是super(name,age),而在子類中呼叫name 必須用this.getname(),這個方法。

class test2_abstract 

}abstract class teacher

public teacher (string name, int age)

public void setname(string name)

public string getname()

public void setage(int age)

public int getage()

public abstract void teach();

}class baseteacher extends teacher

public baseteacher (string name, int age)

public void teach()

}

第十六節 兩道題

終於沒有**了 

第一題,沒有抽象方法的抽象類有什麼意義?

作用是不能直接建立物件

第二題 

abstract 不能和static 同時用,因為static 是與類有關的,可以類名.呼叫,類名,呼叫抽象方法是沒有意義的

abstract和final不共存,final是不讓子類重寫方法,abstract是強制子類重寫方法

abstract和private 不共存 private是不讓子類訪問,abstract。。。。。。。。。。

集訓第九天

今天就看了乙個迪傑斯特拉演算法,他的方法就是從乙個頂點出發,找出這個到與它相關頂點的所有路徑,然後在找出其中最小的,作為基量,一次類推 如下 include define inf 0x7fffffff define maxn 50 int matrix maxn maxn void dijkstra...

開課第九天

畫布 1今天是開課第九天,上午講了關於方法的題,下午講了新知識,嗯,今天有點熱,下面就是本寶寶今天的收穫 1 過載 方法名相同,引數列表不同叫做過載,和返回值型別無關。過載方法名必須一致,引數列表不同,和返回值型別無關。引數列表不同 個數不同,順序不同,型別不同 方法過載的時候編譯器會自動找到最適合...

學習第九天

怎麼沒有題面?我怎麼知道?換個鏈結吧!向洛谷勢力低頭 我們畫一下這個小螞蟻走出來的圖形,我們就會發現,是乙個類似長城的形狀 這個題,求最大值,我們應該能很容易想到用動態規劃 那麼對於乙個路徑圍成的圖形,我們需要描述的是它的位置和形狀,所以這顯然是個高維的dp 位置很好描述,但是形狀太複雜了,我們怎麼...