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接口的对象,
            //可以再调用这个对象的方法
        }
    }
  • 相关阅读:
    android 多渠道打包
    第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料
    Android:支持不同分辨率的屏幕设计 .
    动画效果编程基础--AnimationAndroid
    Android使用尺寸资源 dimens .
    android手机分辨率整理
    线程和进程
    js和html的结合方式
    成员变量和局部变量
    MySQL基础知识
  • 原文地址:https://www.cnblogs.com/rain-1/p/5066415.html
Copyright © 2011-2022 走看看