接口的特点:

接口的关键字

public interface 接口名()

类实现接口的关键字

public class 类名 implements 接口名()

 接口的实现参照多态:抽象类多态,接口多态

一般以Impl结尾为接口的实现类

例如: interImpl

接口内变量默认被final修饰 ,内容只能是常量

int num3 = 30
//在接口内这样写就等于了 public static final int num3 =30

皆相同

//在接口内变量public final int num2 = 20;
int num2 = 20;//在接口内方法
public abstract void methods();
void methods();

猫和狗(接口版)

Animal

package 猫和狗接口版;public abstract class Animal {private String name;private int age;public Animal() {}public Animal(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public abstract void eat();
}

AnimalDemo

package 猫和狗接口版;/*** 测试类*/
public class AnimalDemo {public static void main(String[] args) {Jumpping j = new Cat();j.jump();System.out.println("--------------");Animal a = new Cat();a.setName("加菲");a.setAge(5);System.out.println(a.getName()+","+a.getAge());a.eat();System.out.println("-------------------");a = new Cat("加菲",5);System.out.println(a.getName()+","+a.getAge());a.eat();System.out.println("---------以下是真正使用------------");Cat c = new Cat();c.setName("加菲");c.setAge(5);System.out.println(a.getName()+","+a.getAge());c.jump();c.eat();System.out.println("----------以下为狗------------------");Dog d = new Dog();d.setName("皮皮");d.setAge(10);System.out.println(d.getName()+","+d.getAge());d.jump();d.eat();}
}

Cat

package 猫和狗接口版;public class Cat extends Animal implements Jumpping {public Cat() {}public Cat(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("猫吃鱼");}@Overridepublic void jump() {System.out.println("猫可以跳高了");}
}

Dog

package 猫和狗接口版;public class Dog extends Animal implements Jumpping {public Dog() {}public Dog(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("狗吃骨头");}public void jump() {System.out.println("狗可以跳高了");}
}

Jumpping接口

package 猫和狗接口版;public interface Jumpping {void jump();
}

抽象类是对事物的抽象,接口是对行为的抽象

--------------------------------------------

运动员与教练的接口练习

接口SpeakEnglish

package 运动员和教练案例;public interface SpeakEnglish {void speak();
}

接口内void speak = public abstract void speak

------------------------------------------------------------------------------------------------

Person构造函数(抽象类)

package 运动员和教练案例;
//抽象人类
public abstract class Person {private String name;private int age;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public abstract void eat();
}

Coash类 (抽象继承了Person

package 运动员和教练案例;public abstract class Coach extends Person {public Coach() {}public Coach(String name, int age) {super(name, age);}public abstract void teach();
}

Player运动员类同上

package 运动员和教练案例;public abstract class Player extends Person {public Player() {}public Player(String name, int age) {super(name, age);}public abstract void study();
}

BasketballCoash篮球教练

package 运动员和教练案例;public class BasketballCoach extends Coach {public BasketballCoach() {}public BasketballCoach(String name, int age) {super(name, age);}@Overridepublic void teach() {System.out.println("篮球教练教学");}@Overridepublic void eat() {System.out.println("篮球教练吃羊肉");}
}

BasketballCoash篮球运动员

package 运动员和教练案例;public class BaskerBallPlayer extends Player {public BaskerBallPlayer() {}public BaskerBallPlayer(String name, int age) {super(name, age);}@Overridepublic void study() {System.out.println("篮球运动员学习如何运球和投篮");}@Overridepublic void eat() {System.out.println("篮球运动员吃牛肉");}
}

乒乓球教练

package 运动员和教练案例;public class PingBangCoach extends Coach implements SpeakEnglish {public PingBangCoach() {}public PingBangCoach(String name, int age) {super(name, age);}@Overridepublic void teach() {System.out.println("乒乓球教练教如何发球");}@Overridepublic void eat() {System.out.println("乒乓球教练吃小白菜");}@Overridepublic void speak() {System.out.println("乒乓球教练说英语");}
}

乒乓球运动员

package 运动员和教练案例;public class PingBangPlayer extends Player implements SpeakEnglish {public PingBangPlayer() {}public PingBangPlayer(String name, int age) {super(name, age);}@Overridepublic void study() {System.out.println("乒乓球运动员学习如何发球接球");}@Overridepublic void eat() {System.out.println("乒乓球运动员吃大白菜");}@Overridepublic void speak() {System.out.println("乒乓球运动员说英语");}
}

PersonDemo测试类(利用多态

package 运动员和教练案例;/*** 测试类*/
public class PersonDemo {public static void main(String[] args) {//PingBangPlayer设置成了非抽象类//乒乓球运动员PingBangPlayer ppp = new PingBangPlayer();ppp.setName("帅哥");ppp.setAge(30);System.out.println(ppp.getName()+","+ppp.getAge());ppp.eat();ppp.study();ppp.speak();System.out.println("--------------");//篮球运动员BaskerBallPlayer bp = new BaskerBallPlayer();bp.setName("姚明");bp.setAge(50);System.out.println(bp.getName()+","+bp.getAge());bp.eat();bp.study();System.out.println("---------------");//篮球教练BasketballCoach bpc = new BasketballCoach();bpc.setName("姚明的教练");bpc.setAge(50);System.out.println(bpc.getName()+","+bpc.getAge());bpc.teach();bpc.eat();System.out.println("-----------------------");//乒乓球教练PingBangCoach ppb = new PingBangCoach();ppb.setName("乒乓球教练");ppb.setAge(40);System.out.println(ppb.getName()+","+ppb.getAge());ppb.eat();ppb.speak();ppb.teach();}
}

2022/10/26 OR 27 关于java的接口初识 猫狗接口/教练学员案例相关推荐

  1. java毕业设计社区流浪猫狗救助网站源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计社区流浪猫狗救助网站源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计社区流浪猫狗救助网站源码+lw文档+mybatis+系统+mysql数据库+调试 本源 ...

  2. 基于Java Web的流浪猫狗救助网站

    一.项目介绍 流浪猫狗救助网站适合作为毕业设计.课程设计.大作业等.在此网站可以登录/注册.查看流浪猫狗信息.在线提交救助申请.查看团队活动等.包含:1.首页介绍 2.流浪猫狗知识 3.领养中心 4. ...

  3. CUDA版本与显卡驱动版本对照表(更新至2022.10.26 - CUDA11.8)

    更新2022-10-26-CUDA11.8 注:当前所有版本要求均为CUDA官方提供 如需转载,请注明出处. 更多优质内容,可点击原文链接进行阅读学习. CUDA 11.8 组件版本 Table 1. ...

  4. tinyMediaManager 无法使用?2022.10.26

    1.下载tMM工具并安装 tinyMediaManager下载 下载完无脑安装即可,配置待会再说 2. 剧集也是相同的配置 3.重点 如果刮削报错,在hosts中添加下面的IP C:\Windows\ ...

  5. 2022.10.26 英语背诵

    striking 引人注目的,显著的 counterpart 对应的物或者人 hearing 听力,听力所及距离 peril 危险,危险的事物 a voyage that was fraught wi ...

  6. Java初学 通过接口实现猫狗跳高

    // 定义跳高接口 public interface Jump {public abstract void jump();}class JumpCat extends Cat implements J ...

  7. Java的抽象类:猫狗案例

    猫狗案例:从抽象到具体 狗或者猫: 成员变量:姓名,年龄 构造方法:无参,带参 成员方法:eat(猫吃鱼/狗吃肉) 因为有共性的内容,所以就提取一个父类,动物. 但是又由于吃饭的内容不一样,所以吃饭的 ...

  8. Java 封装介绍之猫狗案例

    1.封装的概述 封装是面对对象的三大特征之一(封装,继承,多态) 封装是面对对象编程语言定义客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的内外部是无法直接操作的 2.封装的原则 将类的信息隐藏 ...

  9. 千峰教育2218期2022.10.18日

    2022.10.18日 上课时间 早上8:50进直播间 9:00~10:20 10:40~11:50 13:50课程分享 自信 14:00~15:00 15:10~16:20 16:30~18:00 ...

最新文章

  1. hdu 2154 跳舞毯 (DP)
  2. js上拉加载ajax数据,原生ajax写的上拉加载实例
  3. Excel表格模板:记帐汇总凭证表下载
  4. python学习中软件开发知识点_Python 学习知识点总结归纳
  5. Vue入门之animate过渡动画效果
  6. 实测金山毒霸极速版杀毒软件表现
  7. GAN手写体生成(MINIST)
  8. postgresql 客户端连接方式差异造成的时间差异
  9. 清翔51单片机开发板及原理图-去年购买的
  10. 大二Web课程设计——张家界旅游网站设计与实现(HTML+CSS+JavaScript)
  11. Jetson NX设置nvme固态硬盘为系统盘
  12. U3D游戏开发框架(四)——音频管理器
  13. 4. DFT进阶——ATPG
  14. winhex改宽高和伪加密
  15. 水果分选机设计(论文+CAD图纸+开题报告+任务书+文献综述+外文翻译) 水果果径大小分选机的设计
  16. 【瑞模网】3dmax渲染——灯光缓存
  17. 【附源码】Python计算机毕业设计美容院管理系统
  18. 计算机管理中用户密码不能关闭,关于计算机密码我想知道XP控制面版里的管理员密码设置完也就是开机 爱问知识人...
  19. 温度控制模块项目总结
  20. 商务邮箱注册大全,邮箱有哪些类型可选择?

热门文章

  1. ios 获取是否静音模式_如何监听iOS设备静音按钮的状态
  2. Notepad++ 使用正则表达式替换
  3. 华为交换机——光电复用口如何切换光口模式
  4. 3D激光点云霍夫变换拟合直线
  5. python微课教学_Python课程设计-微课视频版
  6. python微课视频教程_Python基础实例教程(微课版)
  7. ubuntu下安装的php没有curl扩展,ubuntu下php怎么安装curl扩展?
  8. 宜昌天问2021高中高考成绩查询,喜报 丨 高考,梦想之花在天问高中盛开
  9. 信息论通识课程:建立过渡性的模型时应遵循最大熵原理(过犹不及)
  10. antd的Input.TextArea换行并插入文字