这是我定义的一个抽象类:

如果你试图创建一个对象,当然是不行的,抽象类不能用new运算符创建对象

这是错误提示,还记得instantiate这个单词吗?在我的这篇随笔第二篇(那些JAVA程序BUG中的常见单词)中有哦。

然后你用这个抽象类去创建一个数组就会发现这却是可以的,这是为什么呢?

首先我们要了解对象的创建(即为对象分配变量并获得一个引用),系统遇到new+构造方法以后,就会给该对象的变量分配内存并进行初始化,然后再计算出一个引用赋给该对象。

而数组的创建和对象的创建基本上是一样的,只不过数组中存放的是这些元素的首地址,而在这个过程中并没有经过上边的对象创建的步骤,只是给数组的元素指定了数据类型,规定它只能存放该类型的数据或引用。 

学识浅薄,如有错误,恳请斧正,在下不胜感激。

最新文章

  1. MySql 里的IFNULL、NULLIF和ISNULL用法区别
  2. 设计模式--5.5 代理模式-通用代码及aop
  3. wuzhicms私密下载链接生成
  4. VMWare12 安装 OSX 10.10
  5. 在Apache上架设SVN使得可以通过http来使用SVN
  6. oracle的unique约束
  7. 【百度地图API】批量地址解析与批量反地址解析(带商圈数据)
  8. OC之知识储备篇
  9. PTA8
  10. MPU9250九轴陀螺仪--读接口数据
  11. VUE页面渲染问题
  12. nginx的stream反向代理mysql配置
  13. [源码]underscore-1.8.3
  14. ym——Android开发MVP模式(攻克了View和Model的耦合)
  15. 常用jquery记录
  16. Undirected Graphs
  17. 用Jedis操作redis示例一,Key,value HashMap
  18. leetcode_sql_3,181,182,183
  19. Luogu 3265 [JLOI2015]装备购买
  20. nginx初探,下载安装配置负载均衡

热门文章

  1. 开源项目SwipeBackLayout的问题处理
  2. 关于Java第一次实验的对课后问题自己的理解--验证码实现及其四则运算
  3. Java中的重写
  4. 【python】搜索引擎方面的资料
  5. Win7 本地打印后台处理程序服务没有运 怎么办
  6. 我的第一个开源控件-DragGridView
  7. sqlserver中All、Any和Some用法与区别
  8. 多媒体开发之---h264 server rtsp
  9. 【iOS系列】- 通知NSNotification的使用
  10. Boost中的Timer的使用——计算时间流逝