帮忙解释一下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