先有一个前提,抽象类一般是用来做什么用的
我的理解是在一些复杂的项目中,都用到一个方法暂且叫“方法1”
要怎样能统一使用这个“方法1”且方法都能很好的解决问题。
这是抽象类场景应用。
package java_10;
public class java_10_1 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
// A1 a=new A1(); 错误,因为抽象类不能实例化,没有价值的
C1 c = new C1(); // C1 是具体类,是有价值的
c.meth_Abstract1();
D1 d1 = new D1();
d1.meth_Abstract2();
d1.meth_Abstract3();
}
}
// 具体类是 对一个类的抽象,可以实例化。
// 抽象类是 对多个类的抽象,不能实例化。
abstract class A1 // abstract 用来修饰一个抽象类
{
}
abstract class B1 // 抽象方法:有两个特点
{ //1.在定义方法时用abstract 来修饰
//2.且抽象方法没有方法体
public abstract void meth_Abstract1();
}
abstract class B2
{
// public abstract static void meth_Abstract3(); 报错 static不能与 abstract
// extends 同时使用
public abstract void meth_Abstract2();
public abstract void meth_Abstract3();
}
class C1 extends B1 // 抽象类的价值,要求定义出它的派生类,且为具体类
{
@Override
public void meth_Abstract1() {
// TODO 自动生成的方法存根
System.out.println(" C1 extends B1 ");
}
}
class D1 extends B2 {
@Override
public void meth_Abstract2() {
// TODO 自动生成的方法存根
System.out.println("Test1_能不能写多个子类");
}
public void meth_Abstract3() {
// TODO 自动生成的方法存根
System.out.println("Test2_能不能写多个子类");
}
}