美文网首页
2019-01-18Java编程思想第七章代码复用(参考Java

2019-01-18Java编程思想第七章代码复用(参考Java

作者: gdlooker | 来源:发表于2019-01-18 18:09 被阅读0次

    实例1:组合语法(组合就是一个类中含有另外一个类的引用)

    //水源类
    public class WaterSource {
    
        private String s;
        WaterSource(){
            System.out.println("构造器的初始化");
            s="concructed";
        }
    
        //重写toString 方法
        @Override
        public String toString() {
            return s;
        }
    }
    

    附上SprinklerSysterm的测试类代码如下:

    public class SprinklerSysterm
    {
        private String valve1,valvel2,valvel3,valvel4;
    
        //复用另一个类的代码
        private WaterSource source=new WaterSource();
        private int i;
        private float f;
    
    
    
        //在该类里面重写toString方法
        @Override
        public String toString() {
            System.out.println("SprinklerSysterm的toString方法被调用");
            return "SprinklerSysterm{" +
                    "valve1='" + valve1 + '\'' +
                    ", valvel2='" + valvel2 + '\'' +
                    ", valvel3='" + valvel3 + '\'' +
                    ", valvel4='" + valvel4 + '\'' +
                    ", source=" + source +
                    ", i=" + i +
                    ", f=" + f +
                    '}';
        }
    
        public static void  main(String ...args){
    
            //
            SprinklerSysterm sprinklerSysterm=new SprinklerSysterm();
            System.out.println(sprinklerSysterm);
    
        }
    }
    

    附上运行结果:

    复用类代码运行结果测试.png

    总结:说明在一个类中的toString方法包含另外一个类的实例,那么也会调用另外那个类的toString方法

    注意:平时我们 A a=new A(); Systerm.out.println(a) //如果我们不重写toString的方法这里调用的是Object的toString() ,Object的toString的源代码如下:

     public String toString() {
            return getClass().getName() + "@" + Integer.toHexString(hashCode());
        }
    

    不重写Object的toString方法打印结果如下:

    不重写Object的toString.png

    相关文章

      网友评论

          本文标题:2019-01-18Java编程思想第七章代码复用(参考Java

          本文链接:https://www.haomeiwen.com/subject/wyxodqtx.html