Java的对象引用还有一些相关问题

public class Studying003 {
    static class Person{
        int age;
        char favourite;
        int height;
        public void speak(){
            System.out.println("我喜欢"+favourite);//我喜欢蹭吃怎么弄出来的?
        }
        public static void main(String[]args){
            Person p1=new Person();
            Person p2=new Person();
            Person p3=new Person();
            p1.age=20;
            p3.height=180;//这个怎么弄出来?
            p1.speak();
            p2.speak();
           //还不会 new Person().favourite;
            System.out.println("p1="+p1);//这一行代码运行后为什么会出现这种情况?
        }
    }
}

你代码里面写了一堆问题,但是完全没有描述你的疑惑在哪里,我很难给你说为什么。

class Person 需要实现方法 toString

首先所有的类都有一个共同的父类Object,Object类有一个toString方法,直接返回的对象地址,一般来说,如果自己实现的类没有重写Object的toString方法,那直接打印的就是调用的Object类的toString方法,故这里最后一行打印的是一个对象地址。上面的就没太懂你说的什么意思了

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y