定义抽象类,就一定会定义抽象方法,抽象方法没有方法体{},就证明抽象方法 是不运行的,抽象方法 是给子类继承覆盖运行的,
子类继承->抽象类 就必须覆盖抽象方法,否则编译都失败;
水果案例:
定义水果抽象类 FruitAbstract:
package android.java.oop16;
/**
* 定义一个抽象类,此类 可以有抽象方法,也可以有普通方法,静态方法 等等;
*/
public abstract class FruitAbstract {
/**
* 去买水果,具体什么水果,还不知道,属于抽象的,模糊的,
* 所以定义成抽象方法,具体是什么水果,让子类去覆盖实现
*/
public abstract void info();
}
描述??香蕉对象:
package android.java.oop16;
/**
* 描述香蕉对象
* 香蕉是 水果 中的一种 所以继承水果
*/
public class Banana extends FruitAbstract {
/**
* 香蕉??
*/
@Override
public void info() {
System.out.println("香蕉??剥皮后,才能吃....");
}
}
描述??西瓜对象:
package android.java.oop16;
/**
* 描述西瓜对象
* 西瓜是 水果 中的一种 所以继承水果
*/
public class Tsama extends FruitAbstract {
/**
* 西瓜??
*/
@Override
public void info() {
System.out.println("西瓜??要切开后,才能吃...");
}
}
描述??橘子对象:
package android.java.oop16;
/**
* 描述橘子对象
* 橘子是 水果 中的一种 所以继承水果
*/
public class Orange extends FruitAbstract {
/**
* 橘子??
*/
@Override
public void info() {
System.out.println("橘子??要剥皮后,才能吃....");
}
}
main测试方法:
package android.java.oop16;
public class Test {
public static void main(String[] args) {
Banana banana = new Banana();
banana.info();
Tsama tsama = new Tsama();
tsama.info();
new Orange().info();
}
}
执行结果:

动物案例:
AnimalAbstract:
package android.java.oop17;
/**
* 定义一个抽象类,此类 可以有抽象方法,也可以有普通方法,静态方法 等等;
*/
public abstract class AnimalAbstract {
/**
* 举例:快看快听 那个动物在叫呢,
* 由于这个动物 具体是什么动物在叫 这个是不知道的,是抽象的模糊的
*/
public abstract void cry();
}
Cat:
package android.java.oop17;
/**
* Cat属于动物类,具备动物的行为;
* Cat是 Animal 的一种 所以需要继承 Animal
*/
public class Cat extends AnimalAbstract {
/**
* Cat ?? 具体的叫 行为
*/
@Override
public void cry() {
System.out.println("猫?? 喵喵喵....");
}
}
Cattle:
package android.java.oop17;
/**
* Cattle属于动物类,具备动物的行为;
* Cattle是 Animal 的一种 所以需要继承 Animal
*/
public class Cattle extends AnimalAbstract {
/**
* Cattle ?? 具体的叫 行为
*/
@Override
public void cry() {
System.out.println("牛 ?? 槑槑篾....");
}
}
Dog:
package android.java.oop17;
/**
* Dog属于动物类,具备动物的行为;
* Dog是 Animal 的一种 所以需要继承 Animal
*/
public class Dog extends AnimalAbstract {
/**
* Dog ?? 具体的叫 行为
*/
@Override
public void cry() {
System.out.println("狗??汪汪汪....");
}
}
main测试方法 让具体的 动物去做事情:
package android.java.oop17;
public class Test {
public static void main(String[] args) {
/**
* 举例:快看快听 那个狗??在叫
*/
new Dog().cry();
/**
* 举例:快看快听 那个猫??在叫
*/
new Cat().cry();
/**
* 举例:快看快听 那个牛??在叫
*/
new Cattle().cry();
}
}
执行结果:
