Java中为什么要用new来构造对象

假设我们写了一个简单的类
class Text{
private int a;
Text(){
a=0;
}
public int getA(){
return a;
}

如果我们要创建一个Text的对象t1我们就会用到text中的构造函数,并且在构造函数的前面加上new运算符
new Text()
这个表达式构造了一个Text的对象并且初始化了a的值。
所以我们要想创建一个对象应该
Text t1=new Text();

那么我们为什么不用
Text t1 来构造呢
其实用Text t1来声明的变量并不是一个对象,而是一个对象变量。
在对象和对象变量之间存在着很大的区别,如Text t1 // t1 doesn’t refer to any object
定义了一个对象变量,他可以应用Text类型的对象,但是这个t1不是一个对象,不能把Text中的方法应用于这个变量中
如 t1.getA() 将会产生编译错误
要想使用类中的方法必须要初始化变量t1
可以
Text t1=new Text();
也可以
t1=t(t为之前创建的Text对象)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值