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);
 }
}

Java接口实现传参的更多相关文章

  1. java复用和传参

    java复用和传参的三种方法总结: (1) 直接在一个类中调用函数 : 1 package test1; 2 3 public class a 4 { 5 public static void get ...

  2. [Java]_函数传参的疑惑与思考

    问题来源于leetcode上的两道题 Path Sum I && II,分别写了两个dfs. void dfs(TreeNode node , int sum , ArrayList& ...

  3. Java的对象传参问题

    在c/c++中对于传参类型,无外乎就是传值.传引用.传指针这几种.但在java中,由于没有指针类型,其传参的方式也发生了相应的变化.之前有搜过相关的知识点一直理解的是:Java的传参方式中主要有两种: ...

  4. 在Java中动态传参调用Python脚本

    最近,又接触到一个奇葩的接口,基于老板不断催促赶时间的情况下,在重写java接口和复用已有的python脚本的两条路中选择了后者,但是其实后者并没有好很多,因为我是一个对python的认识仅限于其名称 ...

  5. SpringBoot系列: Java应用程序传参和SpringBoot参数文件

    ===========================向java 程序传参的几种形式:===========================1. 使用 OS 环境变量. 这个不推荐. 2. 使用JVM ...

  6. Java函数的传参机制

    一 最近的一个项目,里面各种返回void,参数用引用类型,那叫一个熟和多,但是也把我绕糊涂了. 我就打算好好理一理java的传参机制,整理一番 二 很多人一听Java的传参,那一定会脱口而出,java ...

  7. js 调用接口并传参

    注:需先引入 jquery.json-xx.min.js 1. 参数跟在url后面 var name = '王一'; var age = 18; $.ajax({ type : 'get', url ...

  8. java的方法传参,最容易混淆的问题!!!

    参数传递 参数传递,可以理解当我们要调用一个方法时,我们会把指定的数值,传递给方法中的参数,这样方法中的参数就拥有了这个指定的值,可以使用该值,在方法中运算了.这种传递方式,我们称为参数传递. 在这里 ...

  9. java后台开发传输乱码&&接口post传参失败

    起因: 前几天遇到的问题,才有时间记录,需求:本地生成xml形式的字符串以参数形式用post方法传送到对方的固定接口: 这个需求写的时候感觉很容易,本地测试的时候,也觉得很简单就过了,然后和对方联调的 ...

随机推荐

  1. ABP源码分析二十二:Navigation

    MenuDefinition:封装了导航栏上的主菜单的属性. MenuItemDefinition:封装了主菜单的子菜单的属性.子菜单可以引用其他子菜单构成一个菜单树 UserMenu/UserMen ...

  2. DX 系列之 ComboBoxEdit

    参考资料: ComboBoxEdit.Properties.Items=ComboBoxItemCollection

  3. [C++] MyList<T>

    完成作业型...保证无bug,完全没考虑效率. #include <iostream> using namespace std; #define DEBUG #ifdef DEBUG #d ...

  4. 【数据结构】Huffman树

    参照书上写的Huffman树的代码 结构用的是线性存储的结构 不是二叉链表 里面要用到查找最小和第二小 理论上锦标赛法比较好 但是实现好麻烦啊 考虑到数据量不是很大 就直接用比较笨的先找最小 去掉最小 ...

  5. spark新能优化之shuffle新能调优

    shuffle调优参数 new SparkConf().set("spark.shuffle.consolidateFiles", "true") spark. ...

  6. Careercup - Google面试题 - 6253551042953216

    2014-05-06 01:49 题目链接 原题: Modify the following code to add a row number for each line is printed pub ...

  7. Android手机开机自动启动

    package com.example.x_yp.system_camera; import android.content.BroadcastReceiver; import android.con ...

  8. DevExpress GridView.CustomSummaryCalculate 实现自定义Group Summary

    --首发于博客园, 转载请保留链接  博客原文 DevExpress Documentation官方地址:GridView.CustomSummaryCalculate Event 1. 概要 界面上 ...

  9. 【Java接口实现动态加载不同的类】

    public interface Person {       public double calcuMonthlySalary(double sal, int type);    }   publi ...

  10. foj 2082 树链剖分 第2天

    擦,没啥好说的,这个模板至少得打10遍..纪念自己成功的打错了.. #include <iostream> #include <cstdio> #include <cst ...