用引用(reference)操纵对象-读Thinking in java
来源:互联网 发布:php注册登录代码 编辑:程序博客网 时间:2024/05/17 23:38
在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 initializedSystem.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 initializeds = 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
- 用引用(reference)操纵对象-读Thinking in java
- 用引用操纵对象
- Java之引用操纵对象
- Thinking in Java - - 对象导论(一)
- Thinking in Java:持有对象
- 【Thinking in java】对象导论
- 【Thinking in java】一切都是对象
- 【Thinking in java】对象导论
- 【Thinking in java】一切都是对象
- Thinking in java-对象导论
- 【Thinking in Java】一切都是对象
- Thinking in java 25 引用计数RefCounting
- 2.1引用操纵对象
- 读thinking in java笔记(一):一切都是对象
- 读thinking in java笔记(十):持有对象
- 【Thinking In Java】持有对象(添加一组元素)
- Thinking In Java笔记(第二章 一切都是对象)
- 《Thinking in Java》读书笔记(三)万物皆对象
- Properties类的用法
- android mms流播放器
- android 判断网络是否可用,并调用系统设置项
- RedHat安全加固
- dedecms制作404错误页面方法
- 用引用(reference)操纵对象-读Thinking in java
- 多线程需要调用参数的2种方法
- MultiAutoCompleteTextView自动联想查找
- c/c++ 未知的陷阱——2元、3元转义字符
- sql server sysobjects xtype参数
- Shadow Map & Shadow Volume
- Understanding Almanac and Ephemeris Data
- 两个简单数学问题的精巧算法
- Java 不可逆加密算法