java 抽象类不能直接进行实例化的操作,但可以声明对象

比如 abstract A
我知道不能直接进行实例化操作的意思是
不能 A a = new A();
但是可以声明对象用语句怎么体现?

    对于abstract类,我们不能使用new运算符创建该类的对象。如果一个非抽象类是某个抽象类的子类,那么它必须重写父类的抽象方法,给出方法体,这就是为什么不允许final,abstract同时修饰一个类或方法的原因。

    abstract类的对象作上转型对象

      可以使用abstract类来声明对象,该对象可以作为器子类对象的上转型对象,那么该对象就可以调用子类重写的方法。

    例子

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-26
声明就是等号前面的:

A a;
这样写编译运行都是没有问题的。
要说具体作用,比如你有B和C类都继承自A,而你想把他们都作为A类来使用,就可以声明:
A a1,a2;
a1=new B();
a2=new C();本回答被提问者采纳
第2个回答  2014-03-04
A a; //声明对象a

setA(A a) {
this.a = a;

}
相似回答