日期:2014-05-20  浏览次数:20878 次

帮忙解释一下Thinking in java里的一句话
Class引用表示的就是它所指向的对象的确切类型,而该对象便是Class类的一个对象

比如说一个Stu类
public Stu{
  String name;

}
Stu stu = new Stu();
stu就是Stu的引用,而name就应该是stu指向的对象,是这样理解吧
能不能用这个例子解决一下Class引用和对象的含义呢

------解决方案--------------------
用你的例子来说,Stu是一个类,stu是这个类的一个对象,name是类的一个属性
Stu就是泛指所有学生,他们都会有一个属性,就是他们的名字name,而stu是其中一个学生,
------解决方案--------------------
Class引用表示的就是它所指向的对象的确切类型,而该对象便是Class类的一个对象

Stu stu = new Stu(); 
stu叫(引用)变量,所以Class引用就相当于指stu,所以[Class引用表示的就是它所指向的对象的确切类型]的意思就是stu是它所指向的对象的确切类型的一个引用,也就是说stu是一个Stu类型的引用
new Stu()是一个对象,通过new生成的Stu对象,所以[而该对象便是Class类的一个对象]的意思就是stu所指向的对象,就是Stu类型的一个对象
------解决方案--------------------
new Stu()是在内存里刨了个类型是Stu的坑,
坑里有可燃和不可燃的格子,
Stu stu = new Stu(); 是让stu指向这个坑,
当你想往这个坑里扔可燃垃圾的时候,
就扔给stu的可燃属性(比如这个属性叫name...),
也就是扔给了一个内存里是Stu的坑的可燃格子

Stu stu2 = new Stu()就是又刨了个Stu的坑,叫做stu2
Stu stu3 = stu;就是让“向stu3扔垃圾,也就是往stu指向的那个坑里扔”


“name就应该是stu指向的对象”是不对的,
name是Stu(注意是大写)里面的一个“属性”
英语是property,再翻译一下是“财产”的意思,
lz能明白了吗?

大概是这个意思吧,
错了不负责。哈

good luck