子類重寫父類的方法只要滿足幾個條件,方法名相同,修飾符和返回值范圍不比父類小即可。與方法體沒有任何關系
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名申請、雅安服務器托管、營銷軟件、網(wǎng)站建設、運河網(wǎng)站維護、網(wǎng)站推廣。
可以的,要子類重寫父類方法
package?disruptor.demo2;
/**
*?Created?by?hcq?on?2017/6/1.
*/
public?abstract?class?Father?{
private?String?name;
public?String?getName()?{
return?name;
}
public?void?setName(String?name)?{
this.name?=?name;
}
public?void?sysf()?{
sysout();
}
public?abstract?void?sysout();
}
這個是父類,注意sysout()是虛擬方法
package?disruptor.demo2;
/**
*?Created?by?hcq?on?2017/6/1.
*/
public?class?Son?extends?Father?{
@Override
public?void?sysout()?{
System.out.println(getName());
}
}
這個是子類重寫了父類的sysout()方法
package?disruptor.demo2;
/**
*?Created?by?hcq?on?2017/6/1.
*/
public?class?SonTest?{
public?static?void?main(String[]?args)?{
Father?father?=?new?Son();
father.setName("123");
father.sysf();
father.sysout();
}
}
這個是測試類,首先對象一定是子類的對象,子類沒有的方法調(diào)用父類的,父類調(diào)子類的方法要先定義一遍
//保存為Shape.java
import java.util.ArrayList;
public abstract class Shape {
public abstract void draw();
public static void main(String[] args) {
ArrayList shapes = new ArrayList();
shapes.add(new Square());
// shapes.add(new Shape()); // ERROR ONE
((Square)shapes.get(0)).draw();
// shapes.get(0).draw(); // ERROR TWO
}
}
//保存為Square.java
public class Square extends Shape {
public void draw () {
System.out.println("The square is being drawn.");
}
}
java子類繼承父類、方法的重寫(覆蓋)在程序中,如果想聲明一個類繼承另一個類,需要使用extends關鍵字。格式:class子類 extends父類