A a = new A()
为便于说明,我们先定义一个简单的类:
class Vehicle {
int passengers;
int fuelcap;
int mpg;
}
有了这个模板,就可以用它来创建对象:
Vehicle veh1 = new Vehicle();
通常把这条语句的动作称之为创建一个对象,其实,它包含了四个动作。
1)右边的“new Vehicle”,是以Vehicle类为模板,在堆空间里创建一个Vehicle类对象(也简称为Vehicle对象)。
2)末尾的()意味着,在对象创建后,立即调用Vehicle类的构造函数,对刚生成的对象进行初始化。构造函数是肯定有的。如果你没写,Java会给你补上一个默认的构造函数。
3)左边的“Vehicle veh1”创建了一个Vehicle类引用变量。所谓Vehicle类引用,就是以后可以用来指向Vehicle对象的对象引用。
4)“=”操作符使对象引用指向刚创建的那个Vehicle对象。
我们可以把这条语句拆成两部分:
Vehicle veh1;
veh1 = new Vehicle();
效果是一样的。这样写,就比较清楚了,有两个实体:一是对象引用变量,一是对象本身。
在堆空间里创建的实体,与在数据段以及栈空间里创建的实体不同。尽管它们也是确确实实存在的实体,但是,我们看不见,也摸不着。不仅如此,我们仔细研究一下第二句,找找刚创建的对象叫什么名字?有人说,它叫“Vehicle”。不对,“Vehicle”是类(对象的创建模板)的名字。一个Ve
最新文章
- .net中对HTTP请求的两种请求:Get和Post的操作
- Git 分支管理和冲突解决
- jeesite快速开发平台(三)----项目文件结构与配置文件详解
- NHibernate分页的测试
- 标准C++中的string类的用法总结(转)
- mysql5.0源码安装_linux小白 mysql5.0源码安装配置
- 自写图片遮罩层放大功能jquery插件源代码,photobox.js 1.0版,不兼容IE6
- WPS for MacOS如何设置自动句首字母大写
- [转]JAVA AES 加密算法
- (需求实战_04)_定时压缩昨天指定文件并删除
- ZOJ 3817Chinese Knot(The 2014 ACM-ICPC Asia Mudanjiang Regional First Round)
- OpenGL基础1:最简单的OpenGL例子
- 传智java答案_传智播客_Java基础入门习题答案
- 整车CAN通讯之canfd协议研究
- 成绩查询系统源代码-Leo老师
- android 手机通过蓝牙连接条形码扫描枪后自动断开连接,Android手机(设备)连接扫描枪扫码遇到的问题...
- SpringMVC工作原理(含案例图解)
- mui mysql_mui框架使用心得
- Petalinux EMMC启动
- 大数据概览以及当下实用的主流开发