当前位置: 首页 > news >正文

接口interfance的基本使用

一.为什么有接口?

接口:就是一种规则。

二.接口的定义和使用

1.接口用关键字interface来定义

public interface 接口名{}

2.接口不能实例化

3.接口和类之间是实现关系,通过implements关键字表示

4.接口的子类(实现类)

注意1:

接口和类的实现关系,可以单实现,也可以多实现。

public class 类名 implements 接口名1,接口名2{

}

注意2:

实现类还可以在继承一个类的同时实现多个接口。

publi class  类名 extends  父类 implements  接口名1,接口名2{

}

三.案例

Animal类:

package day;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();
}

  Swim接口:

package day;public interface Swim {public abstract void swim();
}

Dog类:

package day;public class Dog extends Animal implements Swim {@Overridepublic void eat() {System.out.println("狗吃骨头");}@Overridepublic void swim() {System.out.println("狗刨");}
}

Forg类:

package day;public class Test {public static void main(String[] args) {Forg f = new Forg("小青", 1);System.out.println(f.getName() + "," + f.getAge());f.eat();f.swim();//        创建兔子的对象Rabbit r = new Rabbit("小白", 2);System.out.println(r.getAge() + r.getAge());r.eat();}
}

Raabit类:

package day;public class Rabbit extends Animal {@Overridepublic void eat() {System.out.println("兔子在吃胡罗波");}public Rabbit() {}public Rabbit(String name, int age) {super(name, age);}
}

Test测试类:

package day;public class Test {public static void main(String[] args) {Forg f = new Forg("小青", 1);System.out.println(f.getName() + "," + f.getAge());f.eat();f.swim();//        创建兔子的对象Rabbit r = new Rabbit("小白", 2);System.out.println(r.getAge() + r.getAge());r.eat();}
}

运行的结果:

http://www.lryc.cn/news/360657.html

相关文章:

  • Gitlub如何删除分支(删除远程分支+本地分支)
  • 使用RSA算法加密字符串:从基础到实现 - Python
  • MFC实现守护进程,包括开机自启动、进程单例、进程查询、进程等待、重启进程、关闭进程
  • Spark SQL数据源 - Parquet文件
  • eNsp——两台电脑通过一根网线直连通信
  • 杂牌记录仪TS视频流恢复方法
  • 十_信号7-信号集
  • GPT-4o
  • 32位与64位程序下函数调用的异同——计科学习中缺失的内容
  • Python爬虫实战(实战篇)—16获取【百度热搜】数据—写入Ecel(附完整代码)
  • js切割数组的两种方法slice(),splice()
  • 【计算机毕设】基于SpringBoot的医院管理系统设计与实现 - 源码免费(私信领取)
  • 导线防碰撞警示灯:高压线路安全保障
  • 【LeetCode 77. 组合】
  • element-ui组件table去除下方滚动条,实现鼠标左右拖拽移动表格
  • 【C++】list的使用(上)
  • 【代码随想录训练营】【Day 37】【贪心-4】| Leetcode 840, 406, 452
  • concat是什么?前端开发者必须掌握的数组拼接利器
  • WHAT - 容器化系列(一)
  • QT7_视频知识点笔记_67_项目练习(页面以及对话框的切换,自定义数据类型,DB数据库类的自定义及使用)
  • windows10系统64位安装delphiXE11.2完整教程
  • 09.责任链模式
  • Amazon云计算AWS(一)
  • 十_信号4-SIGCHLD信号
  • HCIP的学习(27)
  • 6. MySQL 查询、去重、别名
  • Oracle导出clob字段到csv
  • C++无锁(lock free)队列moodycamel::ConcurrentQueue
  • python办公自动化——(二)替换PPT文档中图形数据-柱图
  • vue不同页面切换的方式(Vue动态组件)