一个类是不是可以有多个对象。
当前类对象指的是什么。《java编程艺术》里说:
当一个对象完成了他的操作周期(out of the scope),另外一个对象被Jvm装入执行是,this则自动指向向并代表它。 JVM一次装入的是什么 一个完整的类,还是一个类中的某个对象
当前类对象指的是什么。《java编程艺术》里说:
当一个对象完成了他的操作周期(out of the scope),另外一个对象被Jvm装入执行是,this则自动指向向并代表它。 JVM一次装入的是什么 一个完整的类,还是一个类中的某个对象
....
}这个Person就是一个类。Person p1 = new Person();p1就是一个对象。应该是一个对像吧。
应该查一下this关键字的用法,
this我的理解是一直指向你 要用的这个对象。刚才的用完了,过去了
现在你用新的,它就指向新的,
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);
个人见解,不是真理,如有雷同,属实巧合
当前类对象是针对一个对象而言,就是该对象自己,也就是this指针,this指针在一个对象被生成时就被确定了,是不能改变的,对象生命周期结束,this也结束。
举个例子,人是一个类,具体的每个人是一个对象,当前对象就是针对某个人而言说他自己。所以,this就相当于我,对于张三,他说我就是指张三自己,对于李四,他说我是指李四自己。当张三死了,张三的“我”也不存在了。
你给的例子没有大看懂
c语言学过 我就是想知道当前类对象是哪个
JVM一次 载入一个 .class文件
而一个class文件里面可以有 多个 class 多个类 每个类里面 可以有申请多个对象 比如BufferReader类 需要 搭载FileReader类
所以 在用BufferReader类的时候 必须申请一个 BufferReader的类对象 和 FileReader的类对象
那么 哪个事当前类对象
简单地说,在哪里类里就是指哪个类。
比如
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 就相当于当前人类对象的衣服对象=方法传入的参数的衣服对象。对于张三而言,当前对象就是张三自己,对于李四而言,当前就像就是李四自己,也就是相当于,张三说,我的衣服=方法传入的参数的衣服,李四也可以说,我的衣服=方法传入的参数的衣服。