首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抽象类数组

抽象类数组
EN

Stack Overflow用户
提问于 2013-10-11 05:09:25
回答 7查看 34.9K关注 0票数 15

为什么我不能实例化抽象类,而可以创建抽象类的数组?

代码语言:javascript
复制
public abstract class Game{
  ...
}

Game games = new Game(); //Error
Game[] gamesArray = new Game[10]; //No Error
EN

回答 7

Stack Overflow用户

发布于 2013-10-11 05:11:34

因为当您创建某个对象类型的数组时,您并不试图实例化这些对象。你所做的只是一些插槽来放置参考资料。

new Game[10];Game引用创建了10个插槽,但它没有生成一个Game

票数 3
EN

Stack Overflow用户

发布于 2013-10-11 05:14:21

因为你不违反abstract class rules.Essentially,

代码语言:javascript
复制
Game games = new Game();

细分为:

代码语言:javascript
复制
Game games; //Will Work because it's just a declaration
games=new Game(); //Will not work because it's instantiation

虽然创建对象对于抽象类完全有效,但不允许初始化。

票数 2
EN

Stack Overflow用户

发布于 2013-10-11 05:20:57

-是一个Abstract类,它的实例不能创建

-创建一个数组,它保存抽象类的对象引用变量,只是引用(),而不是对象本身()。

- - Java中的一个Abstract类和一个Interface用于实现不断变化的行为。考虑一下Abstract class like laying down some protocols for its concrete classes.

Eg:

代码语言:javascript
复制
public abstract class Vehicle{


}

public class Car extends Vehicle{

  public static void main(String[] args){

       Car car1 = new Car();         (Possible)
       Vehicle car2 = new Car();     (Possible)
       Vehicle car3 = new Vehicle();     (NOT Possible)

   }

}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19310638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档