1.由abstract修饰的类称之为抽象类,抽象类不可被实例化但可有构造器;
e.g. public abstract class Kobe(){..};
2.由abstract修饰的方法称之为抽象方法;
e.g. public abstract void slamdunk();
1️⃣抽象方法只保留方法的格式及功能,而具体实现交由其子类重写其抽象方法;
2️⃣抽象方法所在类一定为抽象类,然而抽象类可以没有抽象方法;
3️⃣若子类重写了父类的所有抽象方法,则此类可以被实例化;
4️⃣若子类没有重写父类所有的抽象方法,则此类仍然为一个抽象类;
5️⃣abstract不可修饰属性,private’s,构造器,static‘s或final’s;
3.e.g.
abstract class Kobe{
public abstract void slamdunk();
public abstract void ganJames();
public void ganJordan(){
System.out.println("乔丹皮蓬罗德曼");
}
}
class Bellucci extends Kobe{
@Override
public void ganJames() {
System.out.println("纳什小斯马里昂");
}
@Override
public void slamdunk() {
System.out.println("科比麦迪好基友");
}
}
public class Monica {
public static void main(String[] args) {
Kobe kb24 = new Kobe() {
@Override
public void slamdunk() {
System.out.println("踏破AJ无觅处");
}
@Override
public void ganJames() {
System.out.println("明年一起换椰子");
}
};
kb24.ganJordan();
Bellucci bellucci=new Bellucci();
bellucci.ganJordan();
bellucci.ganJames();
bellucci.slamdunk();
}
}
乔丹皮蓬罗德曼
乔丹皮蓬罗德曼
纳什小斯马里昂
科比麦迪好基友