zoukankan      html  css  js  c++  java
  • 对象作为返回值类型&&链式编程

    package com.imooc;
    class Student{
        public void study(){
            System.out.println("学生学习");
        }
    }
    class StudentDemo{
        public Student getStudent(){
            return new Student();
        }
    }
    public class ReturnDemo {
        public static void main(String[] args){
            StudentDemo sd = new StudentDemo();
            Student s = sd.getStudent();
            s.study();
        }
    }

     抽象类作为返回值类型,返回的是该抽象类的子类对象

    package com.imooc;
    abstract class Person{
        public abstract void study();
    }
    class Student extends Person{
        public void study(){
            System.out.println("学生爱学习");
        }
    }
    class StudentDemo{
        public Person getPerson(){
            return new Student();
        }
    }
    public class ReturnDemo {
        public static void main(String[] args){
            StudentDemo sd = new StudentDemo();
            Person p = sd.getPerson();
            p.study();
        }
    }

     接口作为返回返回值类型,返回的是实现该接口的实现类的对象

    package com.imooc;
    interface Love{
        public abstract void love();
    }
    class Teacher implements Love{
        public void love(){
            System.out.println("老师爱上课");
        }
    }
    class TeacherDemo{
        public Love getLove(){
            return new Teacher(); //因为teacher实现了Love接口
        }
    }
    public class TeacherTest {
        public static void main(String[] args){
            TeacherDemo td = new TeacherDemo();
            Love l = td.getLove();
            l.love();
        }
    }

     如果每次调用完方法都返回一个对象,那么便可以实现链式编程

    例如:

    package com.imooc;
    interface Love{
        public abstract void love();
    }
    class Teacher implements Love{
        public void love(){
            System.out.println("老师爱上课");
        }
    }
    class TeacherDemo{
        public Love getLove(){
            return new Teacher(); //因为teacher实现了Love接口
        }
    }
    public class TeacherTest {
        public static void main(String[] args){
            TeacherDemo td = new TeacherDemo();
            Love l = td.getLove();
            l.love();
            
            //链式编程:每次调用完方法之后返回的是一个对象
            td.getLove().love();
            //td是一个对象,td.getLovce()返回的是一个实现Love接口的对象,
            //可以再调用这个对象的方法
        }
    }
  • 相关阅读:
    连接查询
    分组查询
    【转载】C语言 构建参数个数不固定函数
    【转载】vc编译exe的体积最小优化
    VC6微软正则表达式greta使用案例
    MultiByteToWideChar和WideCharToMultiByte
    【转载】VC操作剪切板
    VC/MFC分割字符串(SplitString)返回CStringArray
    【转载】实现UTF8与GB2312编码格式相互转换(VC)已经验证!
    VC6配置sqlite数据库
  • 原文地址:https://www.cnblogs.com/rain-1/p/5066415.html
Copyright © 2011-2022 走看看