java下面这行形参是为什么能用一个类创建一个对象

img

请问他这个形参里面是怎么用一个类创建的这个p, 这既不是基础类型也不是引用类型请问为什么他可以创建一个对象

这个不是创建了一个对象,而是代表test200方法需要传入一个Person对象,然后使用这个对象访问他的age成员变量来修改他的值。
测试代码如下:


public class B {
    
    public void test200(Person p) {
        p.age = 10000;
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Person p = new Person();
        p.age=200;
        System.out.println("修改之前 ,p.age="+p.age);
        
        B b = new B();
        b.test200(p);
        System.out.println("调用b.test200(p)以后, p.age="+p.age);
    }

}


class Person{
    
    String name;
    int age;
}


img

函数的参数类型可以试自定义的类型,建议学习一下Java基础-函数