一题很简单的JAVA~有些不解

来源:百度知道 编辑:UC知道 时间:2024/06/26 01:35:47
class A
{
private int x=3;
public static void main(String[] args)
{
new A().func(new A());
}
public void func(A a)
{
System.out.println(a.x);
}
}
运行出来结果是3。这里几个问题不会。
1.public void func(A a)里面A a是什么意思?是2个值吗?
2.System.out.println(a.x);a.x 这个又是什么意思。。。
3.new A().func(new A());不是很明白

1. A a 表示 a 是A 的实例

2. a.x 表示a这个对象中的x变量

3. 匿名类. 这个类有个func方法.需要传入 A 的对象

说到底就是在打印 x

1、表示类A的实例a做参数;
2、输出a的属性x;
3、创建A的实例 然后调用func方法并再创建一个A实例做参数。

明白了吗? :)

1 表示func的传入参数类型是A类的实例
2 表示A类的实例的变量x的值
3 调用类A的func方法

1、A表示前面的类:Class A (前面的A是不可以更换的),而后面的 a是指类A的实例(这个a是可以随便的更换的)。
2、x那事类A的一个属性,现在a是类A的一个实例了,也就是说a也具有x这个属性,a.x就是说是a的x属性,也就是3。
3、newA()表示新建一个实例就相当于:A b = new A();
newA().func(new A());也就是说b.func(new A())也就是说是新建一个A的实例,然后作为函数func()的参数,b又调用这个函数。

1.表示func方法传入一个A类型的参数a.在这个程序中,a是A类的一个对象。
2。a.x表示调用对象a的x属性。也就是调用类A的x变量。
3。实例化类A,然后调用func方法,把实例化的类A作为参数传入。