java吧 关注:1,266,496贴子:12,770,043
  • 16回复贴,共1

有个JAVA封装没看明白,代码见下图

只看楼主收藏回复



1楼2016-10-28 10:24回复
    数据类型


    2楼2016-10-28 10:39
    回复
      2025-06-27 14:46:31
      广告
      你代码里面重写了Flower类的toString方法 在测试类打印该对象的时候调用了该方法。 如果你没重写,那么就会调用Object类的toString方法 打出来是一串hashcode 肯定不是你想要的效果


      IP属地:湖南3楼2016-10-28 10:40
      回复
        看样还得自己领悟


        4楼2016-10-28 10:41
        回复
          sysout调的是对象的TOSTRING ,如果没有重写会调Object的TOSTRING,还有,这个叫继承,跟封装没啥关系


          IP属地:山西6楼2016-10-28 10:46
          收起回复
            你price 定义的是double 肯定会这样啊 反正我这么觉得
            你换int 试试就应该不会了


            7楼2016-10-28 10:49
            回复
              每个实体类都有自己的构造方法,有有参的和无参的,当没有特别申明,默认无参不用编写,还有是当你写了tostring方法时,你输出实体类对象时,它自动调用tostring方法,输出你设定的参数!


              IP属地:上海来自Android客户端8楼2016-10-28 11:01
              回复
                println打印的时候会调用类的toString方法,该方法继承自Object,所以你想打印对象,只要覆盖掉toString方法就可以了


                9楼2016-10-28 12:42
                回复
                  2025-06-27 14:40:31
                  广告
                  欢迎加入JAVA精英┃中国崛起,群号码:106299144


                  IP属地:江苏来自Android客户端10楼2016-10-28 12:46
                  回复
                    1.那个Flower表示该方法的返回值必须是Flower类型
                    2.3. 你输出的f1是Flower类型,Flower类中重写了toString,就把f1按照toString的格式输出
                    这只是基础东西,和封装没什么关系


                    11楼2016-10-28 13:08
                    收起回复
                      重写了toString方法


                      IP属地:湖南来自Android客户端12楼2016-10-28 14:57
                      回复
                        其实很简单,把下面的话复制一下 然后回复我,很快你们就可以到达5级了,就可以要到辅助教程了
                        我的目标是成为18级大神。假如你每天签到拿4经验,18级300000/4=75000天,如果从1岁开始签到,那100年=36500天,你差不多要活200年保持每天签到(谁知道200年后还有没有签到这玩意),如果你每天再水4经验,时间减半,但考虑现实,你不可能再活100年,取50年吧,你就要每天水16经验,可能你是个勤快的人,每天水32经验,那就需要25年!!!再如果你是个大水怪,每天水64经验,那就只要12.5年!!!还如果你个心急的人,每天水128经验,你只要6.25年!!!!假如你已经急不可耐了,每天水256经验,那你碉堡了,只要3.125年!!!当然,你会觉得3年还是太远了,每天你闲的蛋疼,忙忙碌碌的水512经验,碉堡了,你只需要1.5625年,只比1年半多一点!!!什么!!你还不满意,那你觉得你可能一天水1024经验吗,可能吗!!可能吗!!!据说回复100字或者一百字以上可以得到11~30经验,那么,按照队形,点击复制,吧我的话复制一片 自从度娘出了回复带八张图加经验,几乎每张帖子都有类似这种回复:
                        发图也会涨经验
                        这是真的吗
                        不会是度娘骗我玩的吧
                        度娘你要是骗我就太没节操了吧
                        坑爹啊这是
                        还好事前试了下插图片真的好多经验啊
                        拿到经验的一刹那、简直就像狂欢一样
                        大家都来试试哦
                           迭斯。
                           ——张昕泽『皮卡丘』:   要不是我没有带充电宝,我电死你丫的这逗逼。     暖暖暖   暖暖暖
                            暖暖暖暖暖 暖暖暖暖暖
                        暖暖暖暖暖暖暖暖暖暖
                             暖暖暖暖暖暖暖暖暖
                              暖暖暖暖暖暖暖
                              暖暖暖暖暖
                               暖暖暖
                                暖
                        看帖是一种态度, 暖贴是一种美德!


                        13楼2016-10-28 15:19
                        回复
                          这怎么可能叫封装,封装是使用private关键字对类的属性信息,或成员方法进行私有化处理,不让外部程序直接访问,这里明显是重写toString方法。在java中对实例化对象,直接打印,默认的toString打印出来的是对象的内存地址。在实际开发中,可能要求获得对象的属性信息,那么就需要重写toString方法


                          来自iPhone客户端15楼2016-10-28 15:38
                          回复
                            打印时,会调用toString()方法,
                            那个是有参数的构造方法。


                            IP属地:北京16楼2016-10-28 17:32
                            回复