• Java接口实现传参


    package com.gezhi.interfaces;
    /**
     * 新建一个dog类实现接口livingable(狗吃和上厕所都是与生俱来的不应该写成接口)
     * @author square 凉
     *
     */
    public class Dog implements Livingable{
     private String dogName;
     private int dogAge;
     
     public String getDogName() {
      return dogName;
     }
     public void setDogName(String dogName) {
      this.dogName = dogName;
     }
     public int getDogAge() {
      return dogAge;
     }
     public void setDogAge(int dogAge) {
      this.dogAge = dogAge;
     }
     public void eat() {
      System.out.println(dogName + " 具有吃东西的能力");
     }
     public void wc() {
      
      System.out.println(dogName +" 具有上厕所的能力");
     }
    }
    package com.gezhi.interfaces;
    /**
     * 人类,也实现接口吃饭上厕所的能力(当然吃和上厕所是与生俱来的能力,不应该写成接口)
     * @author square 凉
     *
     */
    public class People implements Livingable , ThinkAble{
     private String peopleName;
     private int peopleAge;
     
     public String getPeopleName() {
      return peopleName;
     }
     public void setPeopleName(String peopleName) {
      this.peopleName = peopleName;
     }
     public int getPeopleAge() {
      return peopleAge;
     }
     public void setPeopleAge(int peopleAge) {
      this.peopleAge = peopleAge;
     }
     public void eat() {
      System.out.println(peopleName + "  具有吃东西的能力");
      
     }
     public void wc() {
      System.out.println(peopleName +" 具有上厕所的能力");
      
     }
     @Override
     public void think() {
      // TODO Auto-generated method stub
      System.out.println(peopleName + "  具有思考的行为");
     }
    }
    package com.gezhi.interfaces;
    /**
     * 建一个服务类服务living这种能力
     * @author square 凉
     *
     */
    public class Service {
     /**
      * 服务其他生物的行为
      */
     public void serviceOther(Livingable lb) {
      lb.eat();
      lb.wc();
     }
    /**
     * 人具有思考的行为,这个方法主要传个人(这里传了一个接口的参数,人类来实现它,主要运用了多态的特性)
     * @param think
     */
     public void ThinkOthers(ThinkAble think) {
      think.think();
     }
    }
    package com.gezhi.interfaces;
    /**
     * 思考的能力
     * @author square 凉
     *
     */
    public interface ThinkAble {
     void think();
    }
    package com.gezhi.interfaces;
    /**
     * 函数主入口类
     * @author square 凉
     *
     */
    public class MainEnter {
     public static void main(String[] args) {
      // TODO Auto-generated method stub
      Service se = new Service();//实例化服务类一个对象
      People p = new People();//实例化人一个对象
      p.setPeopleName("如花");//设置人名
      se.serviceOther(p);//调用服务类的serviceOthers这个方法(本来这个参数是接口livingable的,这里小转大,传个人这个实现了接口的对象)
      Dog d = new Dog();//实例化一个狗类
      d.setDogName("莽子");
      se.serviceOther(d);
      se.ThinkOthers(p);
     }
    }
  • 相关阅读:
    移动硬盘无法识别提示需要格式化的解决办法
    Cassandra 入门(资料收集)
    [转] NoSQL生态系统
    软件项目实施问题收集(LastUpdatedOn:20141117)
    Sql server 收缩日志
    关于重构需要了解的一些原则
    C#定时任务采用线程和队列实现
    [转]我是如何带领团队开发项目的
    ASP.NET MVC 多套皮肤解决方案
    Mysql 问题汇总(不断更新中...)
  • 原文地址:https://www.cnblogs.com/IT-xiaoliang/p/10652844.html
Copyright © 2020-2023  润新知