当前类对象是什么意思

uling 2010-12-26 10:01:48
一个类是不是可以有多个对象。
当前类对象指的是什么。

《java编程艺术》里说:

当一个对象完成了他的操作周期(out of the scope),另外一个对象被Jvm装入执行是,this则自动指向向并代表它。

JVM一次装入的是什么 一个完整的类,还是一个类中的某个对象
...全文
539 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
uling 2010-12-27
  • 打赏
  • 举报
回复
大致明白了 结贴
jaygo311 2010-12-27
  • 打赏
  • 举报
回复
一个类可以有很多的对象,当前对象顾名思义就是this.出来的那个对象
zlllyk110 2010-12-27
  • 打赏
  • 举报
回复
那个对象调用的该方法,this就是哪个对象,构造方法中的this就是指正在构造的这个对象
qybao 2010-12-27
  • 打赏
  • 举报
回复
一个类可以有多个对象,类是个模板,new一次就生成一个对象
当前类对象是针对一个对象而言,就是该对象自己,也就是this指针,this指针在一个对象被生成时就被确定了,是不能改变的,对象生命周期结束,this也结束。
举个例子,人是一个类,具体的每个人是一个对象,当前对象就是针对某个人而言说他自己。所以,this就相当于我,对于张三,他说我就是指张三自己,对于李四,他说我是指李四自己。当张三死了,张三的“我”也不存在了。
wing7742 2010-12-27
  • 打赏
  • 举报
回复
简单说就是 this
liuzeminstudy 2010-12-27
  • 打赏
  • 举报
回复
书上说的都是站在一个很有经验或很成熟的程序员的角度上写的,所以若是入行不久,经验不是很丰富甚至是新手的话,看一些书会很晕很晕的,俺就是这么过来的,现在也还菜,
shaosijun2004 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 withoutpe 的回复:]
一个类是不是可以有多个对象。
当前类对象指的是什么。

《java编程艺术》里说:

当一个对象完成了他的操作周期(out of the scope),另外一个对象被Jvm装入执行是,this则自动指向向并代表它。

JVM一次装入的是什么 一个完整的类,还是一个类中的某个对象
[/Quote]
一个对象吧, 类的话在 jvm启动的时候 就装载了
个人见解,不是真理,如有雷同,属实巧合
gshywx 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 withoutpe 的回复:]
一个类是不是可以有多个对象。
//"是"!一个类可以有多个对象!

当前类对象指的是什么。
//当前类顾名思义,“不是别的类,就是这个类”


《java编程艺术》里说:

当一个对象完成了他的操作周期(out of the scope),另外一个对象被Jvm装入执行是,this则自动指向向并代表它。
//???

JVM一次装入的是什么 一个完整的类,还是一个类中的某个对象
[/Quote]
//类和对象一起
ZangXT 2010-12-27
  • 打赏
  • 举报
回复
这本书的解释够扯的。举个例子:

class Test{
private int number;
public Test(int i){
number = i;
}
public void test(){
System.out.println(number);
}
}
public class Main {
public static void main(String[] args) {
Test t1 = new Test(1);
Test t2 = new Test(100);
t1.test();
t2.test();
}
}

this可以理解为非static方法里的一个隐藏变量。
对于 t1.test(); test()方法中的this就是t1.
对于 t2.test(); test()方法中的this就是t2.

如果你学过c语言那就容易理解了,test方法其实是
void test(Test this_){
System.out.println(this_.number);
}

t1.test(); =>test(t1);
桐桐-Dragon 2010-12-27
  • 打赏
  • 举报
回复
我感觉应该先加载类吧,如果没有类谈什么对象呢?
应该查一下this关键字的用法,
this我的理解是一直指向你 要用的这个对象。刚才的用完了,过去了
现在你用新的,它就指向新的,
cfd406635982 2010-12-27
  • 打赏
  • 举报
回复
this
curbstone119 2010-12-27
  • 打赏
  • 举报
回复
类是结构

对象是实际
ZangXT 2010-12-27
  • 打赏
  • 举报
回复
不知道是书的误导还是楼主引用的问题,this跟类的加载没什么关系。
ddxueyu 2010-12-27
  • 打赏
  • 举报
回复
this通常指本类,调用本类的构造函数
qybao 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 withoutpe 的回复:]
你给的例子没有大看懂
c语言学过

我就是想知道当前类对象是哪个
JVM一次 载入一个 .class文件
而一个class文件里面可以有 多个 class 多个类

每个类里面 可以有申请多个对象

比如BufferReader类 需要 搭载FileReader类
所以 在用BufferReader类的时候 必须申请一个 BufferReader的类对象 和 FileReader的类对象
那么 哪个事当前类对象
[/Quote]

简单地说,在哪里类里就是指哪个类。
比如
class A {
B b;
public A(B b) {
this.b = b; //这里的this是指A对象,this跟B没有关系
}
}

class B {
String s;
public B (String s) {
this.s = s; //这里的this是指B对象,this跟String没有关系
}
}

class C {
public static void main(String[] args) {
B b1 = new B("I am b1"); //当执行这个时,B的构造函数里的this就是指b1
B b2 = new B("I am b2"); //当执行这个时,B的构造函数里的this就是指b2
A a1 = new A(b1);
A a2 = new A(b2);
}
}
就跟我上面说的,张三是人类的一个具体对象,他身穿的衣服是衣服类的对象,张三说“我”的时候,这个“我”就是指张三,把A比作人类,B比作衣服类,a1比作张三,a2比作李四,那么A中的this就是人类的当前对象,this.b = b 就相当于当前人类对象的衣服对象=方法传入的参数的衣服对象。对于张三而言,当前对象就是张三自己,对于李四而言,当前就像就是李四自己,也就是相当于,张三说,我的衣服=方法传入的参数的衣服,李四也可以说,我的衣服=方法传入的参数的衣服。
  • 打赏
  • 举报
回复
我理解类没有分配内存空间,对象是分配了内存空间的.
uling 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zangxt 的回复:]

这本书的解释够扯的。举个例子:
Java code

class Test{
private int number;
public Test(int i){
number = i;
}
public void test(){
System.out.println(number);
}
}
public class Mai……
[/Quote]

你给的例子没有大看懂
c语言学过

我就是想知道当前类对象是哪个
JVM一次 载入一个 .class文件
而一个class文件里面可以有 多个 class 多个类

每个类里面 可以有申请多个对象

比如BufferReader类 需要 搭载FileReader类
所以 在用BufferReader类的时候 必须申请一个 BufferReader的类对象 和 FileReader的类对象
那么 哪个事当前类对象
脉动回来 2010-12-26
  • 打赏
  • 举报
回复
JVM 装入的是一份.class字节码文件,具体的对象只是一个引用的标记,他只存储自己的一部分数据。
Nico 2010-12-26
  • 打赏
  • 举报
回复
一个类。

Class Person{
....
}

这个Person就是一个类。

Person p1 = new Person();

p1就是一个对象。

应该是一个对像吧。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧