一个抽象类的理解,还有这段小代码,求各位高手指教.
//abstract class A 定义一个抽象类 A.abstract class A
{
public abstract void doSomething();//声明抽象方法 (public abstract void doSomething(); 权限修饰符后面 一定要加抽象类的标识.)
}
//抽象类的派生类 B
class B extends A
{
public void doSomething()
{
System.out.println("do B");
}
}
//抽象类的派生类 C
class C extends A
{
public void doSomething()
{
System.out.println("do C");
}
}
//定义一个普通公共类 _abstract
public class _abstract
{
//主函数开始.
public static void main(String[] args)
{
A a1 = new B();
A a2 = new C();
B b = new B();
C c = new C();
doSomething(a1); //这里
doSomething(a2); //这里
doSomething(b); //这里,如果下面的方法不是用抽象类作参数,比如用C c做参数,这里会有什么问题?
doSomething(c); //这里
}
public static void doSomething(A a)
{
//这里,用抽象类,为什么
a.doSomething();
}
}