请教JAVA中对象作为方法的参数用法和解释

来源:百度知道 编辑:UC知道 时间:2024/07/05 08:19:43
class A{
private int x=3;
public static void main(String[]args){
new A().func(new A());//请求解释这句
}
public void func(A a){//请求解释这句,A,a分别代表什么
System.out.println(a.x); //请求解释这句
}
}

1.new A()创建了一个匿名的对象(你可以想象为一个孩子出生了,但没有名字),后面的.func(new A())是该匿名对象的方法(不管孩子有名没名,他都有方法的是吧..),该方法的传递的参数是new A(),注意这里的new A()跟前面那位没名的孩子不是同一人,只不过他也没有名字而已。。
2.这一局就是声明方法func(),方法是参数是类A的对象,所以这里的A是指类A,而a是他的一个对象(注意这里是形参,没有具体创建对象a)。。
3.a是A的实例,他就是有名的孩子了,他的名字叫a,也有属性x,所以该剧输出为3,因为x初始化为3了,所有的A类的实例的x属性初始值都是3.。

明了没?

我怎么给你说呢 new A().func(new A())我主要讲这句 在这我补充下楼上的回答,,创建了匿名的对象后,,我们说任何的对象都有其方法。。这里打点出来的就是调用了下面的方法func,上面楼主对括号里面的new A()的讲述含糊,,那个new A()其实就是对class A的一个实例。即就是下面我们所看到的的参数小a.....然后我们只是在main方法中调用了这个实例,也就是下面的新对象。所以底下的输出值是3.。。。。其他的上面说的很清楚了!!!

第一个new A()的意思其实是把任意我们所见到的实例简写华。。我们常见的是A b=new A();这里面是直接后面的,,也就是匿名类

Oh,My!我走还不行吗!