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

}

}

原文地址:https://www.cnblogs.com/IT-xiaoliang/p/10652844.html

时间: 2024-11-07 09:38:17

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

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

问题来源于leetcode上的两道题 Path Sum I && II,分别写了两个dfs. 1 void dfs(TreeNode node , int sum , ArrayList<Integer> curPath) 2 void dfs(TreeNode node , int sum , boolean ifExist) 问题:在1号中我可以在方法中修改curPath,在结束函数调用时,变量修改仍然生效.   在2号问题中,我即使在函数中修改了ifExist,结束函数调

java复用和传参

java复用和传参的三种方法总结: (1) 直接在一个类中调用函数 : 1 package test1; 2 3 public class a 4 { 5 public static void getDate() 6 { 7 System.out.println("晨落梦公子"); 8 } 9 public static void main(String[] agrs) 10 { 11 getDate(); 12 } 13 } 这种方法应注意主函数中的调用的的getDate()必须声明

浅谈 c++/java/javascript 之传参

本文主要梳理了几种语言的传参机制,即关于 传值.传引用 之争 最近开始学node.js搭后端服务器时,碰到这样一句话 java只有一种传参机制就是传值 javascript其大部分语法规范取自于JAVA语法规范, 那么这种句话也适用于它,于是也有  javascript只有一种传参机制就是传值 为了理解这句话,我从个人感觉较为接近底层的语言c++写一些测试,代码如下 #include<iostream> using namespace std; class Test { public: int

Java函数的传参机制

一 最近的一个项目,里面各种返回void,参数用引用类型,那叫一个熟和多,但是也把我绕糊涂了. 我就打算好好理一理java的传参机制,整理一番 二 很多人一听Java的传参,那一定会脱口而出,java都是值传递的.恭喜各位,答对了. 那么,传的是什么值? 如果参数类型是原始类型,那么传过来的就是这个参数的一个副本,也就是这个原始参数的值,这个跟之前所谈的传值是一样的.如果在函数中改变了副本的值不会改变原始的值. 如果参数类型是引用类型,那么传过来的就是这个引用参数的副本,这个副本存放的是参数的地

Java后台通过传参得到对应的坐标值的方法

public List<String> getMap(String address, String city) { String returnXml=""; List<String> list=new ArrayList<String>(); try { address=URLEncoder.encode(address, "UTF-8"); city=URLEncoder.encode(city, "UTF-8&quo

HttpUrlconnection POST提交 用于接口调用传参

package com.jr.demo; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; public class C { pu

接口Request传参的常用注解

1. @PathVariable 当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上. @Controller @RequestMapping("/owners/{ownerId}") public class RelativePathUriTemplateController { @RequestMapping("/p

Java命令行传参

目的: 在运行一个程序时候再传递给它消息,这就需要传递命令参数给main()函数实现:即main()方法可以传递数据 例: public class demo{ public static void main(String[] args){ for(int i=0;i<args.length;i++){ System.out.println("arg["+i+"]:"+args[i]); } } } 命令行最好在src目录下运行  ,示例: 原文地址:http

Java自学-类和对象 传参

Java中的传参 变量有两种类型 基本类型 和类类型 参数也是变量,所以传参分为 基本类型传参 类类型传参 步骤 1 : 基本类型传参 基本类型传参 在方法内,无法修改方法外的基本类型参数 public class Hero { String name; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 public Hero(){ } //回血 public void huixue(int xp){ hp = hp + xp