用引用(reference)操纵对象-读Thinking in java

在C和C++当中,一般情况下通过指针来对对象进行引用,那在java当中是如何引用或者是使用对象的呢。Java当中一切都被视为对象,所以在Java当中对对象的引用相对来说比较简单,我们会通过引用(reference)来进行引用对象,例如有一台电视机,我们可以通过一个遥控器来进行控制电视机,那遥控器就相当于电视机的一个引用,遥控器只有在进行控制的时候才会有用,只要拥有这个遥控器,就可以针对电视机进行控制,例如转频道,控制大小音量等等,在这里,遥控器就可以理解为针对电视机这个对象的一个引用。你使用遥控器来操作电视,你实际上是操作的是遥控器(引用),然后再通过遥控器去调控电视机(对象)。

当你使用IDE(博主使用的是eclipse)在Java类中创建一个引用并使用该引用但是没有进行初始化的时候,如果没有使用该引用,则不会报错

例如:

package thinkinginjava.exercise.chapter.one;
public class ObjectIsReference {
	public static void main(String[] args) {
		String s;//如果直接这样调用,IDE会给你提示错误The local variable s may not have been initialized
		System.out.println("S is :"+s);
	}
}

IDE会给你报以下错误:

The local variable s may not have been initialized

提示你需要针对s进行初始化,所以一般情况下,我们会在创建引用的时候去对其初始化,去创建其引用的对象,通过 new关键字,会将以上代码修改为:

package thinkinginjava.exercise.chapter.one;
public class ObjectIsReference {
	public static void main(String[] args) {
		String s;//如果直接这样调用,IDE会给你提示错误The local variable s may not have been initialized
		s = new String("Hello world!");
		System.out.println("S is :"+s);
	}
}

但是如果作为一个类的域,Java默认会将其进行初始化,例如以下例子:

package thinkinginjava.exercise.chapter.one;
public class JavaInitial {
	private int i;
	private char c;
	private String s;
	public static void main(String[] args) {
		JavaInitial ji = new JavaInitial();
		System.out.println(ji.i);
		System.out.println(ji.c);
		System.out.println(ji.s);
	}

}

输出结果为:

0

[]

null


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值