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

}

原文地址:https://www.cnblogs.com/XingXiaoMeng/p/10119685.html

时间: 2024-10-07 18:52:06

Java 链式写法的相关文章

Java链式写法

原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11613067.html Java 链式写法:详细看代码 package chain; /** * TODO * 解析器 */ public class Parser { private String id; private String mode; private String concatIdMode; public static Parser parse(){ return new Pa

jquery事件链式写法

<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"><head>    <meta charset="utf-8" />    <title> Hello JQuery</title>    <script  lang ="javascript" type =&quo

JQuery事件的链式写法

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JQuery事件的链式写法</title> <link type="tex

Delphi Sysem.JSON 链式写法

链式写法有很多优点:连贯.语意集中.简洁.一气呵成.可读性强.比如要把 3.1415926 中的 59 提取为一个整数:Pi.ToString().Substring(5,2).ToInteger() 轻车熟路的感觉,让人觉得,哇!好帅的写法,牛x. 以前以为只有 TJSONBuilder 才支持链式语法,今天发现 TJSONObject 也支持,比如要生成下面的 JSON { "name": "张三", "vip": true, "t

Jquery | 基础 | 事件的链式写法

$(".title").click(function () { $(this).addClass("curcol").next(".content").css("display", "block"); }); <!DOCTYPE html> <html> <head> <title>jQuery事件的链式写法</title> <script

Java链式编程接口

在android开发中显示一个AlertDialog时,常采用下列的写法: new AlertDialog.Builder(getApplicationContext()) .setTitle("Dialog") .setMessage("Link program") .setPositiveButton("OK", new OnClickListener() { @Override public void onClick(DialogInter

Java链式方法

http://blog.csdn.net/lemon_shenzhen/article/details/6358537 有两种情况可运用链式方法: 第一种  除最后一个方法外,每个方法都返回一个对象 object2 = object1.method1(); object3 = object2.method2(); object3.method3(); 以上三行代码等价于如下链式方法 object1.method1().method2().method3(); 第二种 调用同一个对象的多个方法 u

javaScript函数式编程-包含闭包、链式优化及柯里化

本文着重介绍个人理解的函数式编程. 函数式编程个人理解为:以函数为主要载体的编程方式. 好处: 语义更加清晰 可复用性高 可维护性好 作用域局限.副作用少 基本函数式编程: //实现数组中每个单词首字母大写 //一般写法 const arr = ['apple','orange','pear']; for(const i in arr) { const c = arr[i][0]; arr[i] = c.toUpperCase() + arr[i].slice(1); //slice()从已有的

C#用链式方法

C#用链式方法表达循环嵌套 情节故事得有情节,不喜欢情节的朋友可看第1版代码,然后直接跳至“三.想要链式写法” 一.起缘 故事缘于一位朋友的一道题: 朋友四人玩LOL游戏.第一局,分别选择位置:中单,上单,ADC,辅助:第二局新加入的伙伴要选上单,四人可选位置变为:中单,打野,ADC,辅助:要求,第二局四人每人不得选择和第一局相同的位置,请问两局综合考虑有多少种位置选择方式? 对于像我这边不懂游戏的人来讲,看不懂.于是有了这个版本: 有4个人,4只椅子,第一局每人坐一只椅子,第二局去掉第2只椅子