java抽象类既然有构造方法,为何不能new呢

如题所述

抽象类不象具体类那样描述一类具体事物,它是提取多种具有相似性的具体事物的共同特征而产生的,比如,helicoptor, jet, fighter父类plane,有start(),takeOff(),speedUp(),changeDirection()等方法,这是共性,但现实中有一个具体的plane吗?没有,它是抽象出来的,根本不存在。所以实例化一个plane是没有意义的,因此面向对象程序设计机制禁止对象实例化

参考资料:http://zhidao.baidu.com/question/14799903.html

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-01
抽象类中的所有方法都只有方法(函数)定义,没有实现代码,一般用抽象类来做一个标准,使得实现这些抽象类的类必须具备一些什么方法和属性,相当于现在所谓的概念机,只是一个虚构的东西,抽象出来的不存在的那么个产物。
第2个回答  2009-07-04
抽象类的构造方法是给继承它的类实现的
第3个回答  2009-07-04
抽象类如果能new的话,java就会拥有多继承性了。
第4个回答  2009-07-04
java规范OK?

你是不是想问问中国为什么会有死刑,法律规定的,OK?

java抽象类既然有构造方法,为何不能new呢
抽象类不象具体类那样描述一类具体事物,它是提取多种具有相似性的具体事物的共同特征而产生的,比如,helicoptor, jet, fighter父类plane,有start(),takeOff(),speedUp(),changeDirection()等方法,这是共性,但现实中有一个具体的plane吗?没有,它是抽象出来的,根本不存在。所以实例化一个plane是没...

java 中抽象类虽然不能够创建对象,但是可以有构造方法,构造方法也可 ...
1.首先你要搞清楚java里new这个关键字,new说的是要调用构造方法,分配内存空间,创建实例,这是显示的new出来一个对象,抽象类是不允许new的,但是抽象类可以有构造方法,我们知道通常创建类的实例需要new 类();这种形式,但是只能说new调用构造方法才是创建对象,而抽象类不可以有实例,但是可以调用构造...

请问抽象类能不能实例化?又很多书上说可以,也有说不可以。
抽象类不能被实例化,它可以有构造方法,但是不能直接用new来创建,只能是用子类继承后,来创建,但是抽象类可以当做是一种类型。比如有抽象类A,那么 A a = new A();是会报错的,只能是B继承A,然后用A a= new B()

java抽象类中没有抽象方法,为什么还是不能new对象
因为 抽象类 不能实例化,和他是否有抽象方法无关。虚拟机通过 他的“类”型就直接判定是否能实例化,与他内部的详细构造无关。有抽象方法的类一定是抽象类 而抽象类可以没有抽象方法,但是这改变不了他依然是抽象类的本质。

在java中,采用什么来描述抽象数据类型
抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象的类。抽象类有点类似“模板”的作用,目的是根据其格式来创建和修改新的类。对象不能由抽象类直接创建,只可以通过抽象类派生出新的子类,再由其子类来创建对象。当一个类被声明为抽象类时,要在这个类前面加上修饰符abstract。 在抽...

java当中不能new的类
java中不能New的类有三种情况:一:你把接口错当成类,二:你new的是一个抽象类,三:你那个类没有public的构造函数;如果不是这三个,请把问题说的再具体一点;

java题求解!!
您好,提问者:A错 原因:抽象用于修饰类或方法,抽象是一个特殊的类,是不能被new的。B错 原因:abstract是可以被继承的,如果加上final关键字是不能被继承的,而且修饰的方法不能被需改。意思是最终的。C错 原因:抽象这个可以被继承、而且当然能被重载了。只要不是final就可以。D对 原因:如果没...

java中,抽象类可以有构造方法吗?
抽象类可以有构造方法,只是不能直接创建抽象类的实例对象而已。在继承了抽象类的子类中通过super(参数列表)调用抽象类中的构造方法 示例代码如下:运行结果:

java里的new到底是什么意思???
Java中使用 new关键字 加上 构造方法,来创建一个对象,下面是一个名为Cat的类,public class Cat { public Cat() { System.out.println("这是构造方法"); }}使用new + 构造方法 来创建一个对象。那么也就是Cat c = new Cat();前半部分,Cat c 的意思是,在内存中分配一个变量,名字叫c...

Java 抽象类能不能实例化
结论是:Java中的抽象类不能被实例化。让我们进一步探讨这个概念。抽象类是Java中一种特殊的类,它使用abstract关键字标记,其主要目的是为了定义类的公共接口,而不是创建具体的对象。抽象类可以包含成员变量、成员方法和构造方法,但不能直接通过new关键字实例化,因为它们通常不提供完整实现,而是留给子类...

相似回答