Java 对象 引用

在这里插入图片描述
在main中止只能通过u访问到User类如果想要访问引用addr对应的对象需要在访问前创建Address对象
对于String对象我们可以不用new便可以使用,这是官方规定的,而其他类型的对象只有在new后我们才可以使用;
只有在new后JVM才会给这个类型的对象在堆内存中分配其内存空间;
对于某种类型的对象我们可以为其new很多次每次,为其分配很多的堆内存空间。

Address addr = new addr;
这种方式是创建不成功的因为编译器根本就找不到addr因为addr在引用u对应的对象当中只有通过u 我们才能找到addr。
 u.addr= new Adress();
 这种方式才可以将Adress对象的内存地址给到u中的addr
 如果不是给u中的引用addr的话可以直接创建而不用通过u
  Adress add = new Adress();       

Test类

public class Test {
    
    
    public static void main(String[] args) {
    
    
        User u=new User();

        System.out.println(u.no);
        System.out.println(u.name);
        System.out.println(u.addr);
        u.no=123456;
        u.name="jack";
        u.addr= new Adress();
        u.addr.city="北京";
        u.addr.street="朝阳";
        u.addr.zipcode="1213213";
        System.out.println(u.no);
        System.out.println(u.name);

        System.out.println(u.addr.city);
        System.out.println(u.addr.street);
        System.out.println(u.addr.zipcode);
    }
}

User类

public class User {
    
    
    int no;
    String name;
    Adress addr;
}

Adress类

public class Adress {
    
    
    String city;
    String street;
    String zipcode;
}

猜你喜欢

转载自blog.csdn.net/qq_45858803/article/details/121290351