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()
                + "]";
    }
    
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM