zoukankan      html  css  js  c++  java
  • Java 链式写法

    Java链式写法,子类继承父类的属性,也可以返回子类的对象,只是需要重写基类的Set方法

    public class MyLS {
    
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            System.out.println(new Student().setName("1").setAge(21).toString());
            
            System.out.println(new NAN().setName("2").setAge(20).setSex('男').toString());
            
            System.out.println(new NV().setName("3").setAge(22).setSex('女').toString());
            
        }
    
    }
    
    
    
    class Student{
        
        private String name;
        
        private Integer age;
    
        public String getName() {
            return name;
        }
    
        public Student setName(String name) {
            this.name = name;
            return this;
        }
    
        public Integer getAge() {
            return age;
        }
    
        public Student setAge(Integer age) {
            this.age = age;
            return this;
        }
    
        @Override
        public String toString() {
            return "Student [name=" + name + ", age=" + age + ", getName()=" + getName() + ", getAge()=" + getAge() + "]";
        }
        
    }
    
    
    class NAN extends Student{
        
        private Character sex='男';
    
        public Character getSex() {
            return sex;
        }
    
        public NAN setSex(Character sex) {
            this.sex = sex;
            return this;
        }
        
        @Override
        public NAN setName(String name) {
             super.setName(name);
             return this;
        }
        
        @Override
        public NAN setAge(Integer age) {
            // TODO Auto-generated method stub
            super.setAge(age);
            return this;
        }
    
        @Override
        public String toString() {
            return "NAN [sex=" + sex + ", getSex()=" + getSex() + ", getName()=" + getName() + ", getAge()=" + getAge()
                    + "]";
        }
        
        
    }
    
    
    class NV extends Student{
        
        private Character sex='女';
    
        public Character getSex() {
            return sex;
        }
    
        public NV setSex(Character sex) {
            this.sex = sex;
            return this;
        }
        
        @Override
        public NV setName(String name) {
             super.setName(name);
             return this;
        }
        
        @Override
        public NV setAge(Integer age) {
            // TODO Auto-generated method stub
            super.setAge(age);
            return this;
        }
    
        @Override
        public String toString() {
            return "NV [sex=" + sex + ", getSex()=" + getSex() + ", getName()=" + getName() + ", getAge()=" + getAge()
                    + "]";
        }
        
    }
    复制请注明出处,在世界中挣扎的灰太狼
  • 相关阅读:
    强化学习 | D3QN原理及代码实现
    Airtest入门及多设备管理总结
    JS图片base64压缩
    ABP框架
    .net gof23种设计模式
    VS2013添加Socket
    VS2013用InstallShield打包winfrom项目
    .net core3.1 log4net无法写日志
    git commit 修改提交说明信息
    screen 使用总结
  • 原文地址:https://www.cnblogs.com/XingXiaoMeng/p/10119685.html
Copyright © 2011-2022 走看看