对象的声明和对象实例化
对象和对象引用
本文基于两个主要思想:
浅谈一下 对象的声明和对象实例化
浅谈一下 对象和对象引用·
首先解决第一个问题:
对象的声明和对象实例化:
package com.Example.chapter04;
/**
* @author Administrator
* @date : 2017年2月9日 下午6:07:49
* @function : 三种 引用传递的说明
*
*/
public class CiteConvey {
// Person person=new Person();
public static void main(String[] args) {
Person person;
person=new Person();
}
}
class Person{
public Person(){
System.out.println("这里是Person类发言");
}
}
对象的声明:Person person;
(主要在栈空间)
对象的实例化:person=new Person();
(主要是在堆空间)
person得到new Person()在堆空间里声明的申请的空间的使用权(地址)
再解决第二个问题:
对象和对象引用·
- 对象
Java在设计的时候本着“万物皆对象”的原理,下面这段话引自《Java编程思想》中的一段原话:
“按照通俗的说法,每个对象都是某个类(class)的一个实例(instance),这里,‘类’就是‘类型’的同义词。”
即 对象是(class)类创建的一个实例(instance)。
- 对象引用
“每种编程语言都有自己的数据处理方式。有些时候,程序员必须注意将要处理的数据是什么类型。你是直接操纵元素,还是用某种基于特殊语法的间接表示(例如C/C++里的指针)来操作对象。所有这些在 Java 里都得到了简化,一切都被视为对象。因此,我们可采用一种统一的语法。尽管将一切都“看作”对象,但操纵的标识符实际是指向一个对象的“引用”(reference)。”
这段话来自于《Java编程思想》。
就事论事,归结到Java层面上面来,(reference)引用:但操纵的标识符实际是指向一个对象的“引用”(reference)。操作的标识符!——->指向对象的引用。
package com.Example.chapter04;
/**
* @author Administrator
* @date : 2017年2月9日 下午6:07:49
* @function : 三种 引用传递的说明
*
*/
public class CiteConvey {
// Person person=new Person();
public static void main(String[] args) {
Person person;
person=new Person("小李子");
}
}
class Person{
public Person(String name){
System.out.println("这里是Person类发言\t并创建"+name+"的对象");
}
}
所以Person类声明的对象person是对象引用,实例化的实例“小李子”是“小李子”对象