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

制作网页动画的软件鄂州seo

制作网页动画的软件,鄂州seo,电商品牌授权网站,关于电商网站建设与管理的书籍文章目录 前言实现多个接口接口间的继承接口使用实例给对象数组排序创建一个比较器 总结 前言 实现多个接口 Java中不支持多继承,但是一个类可以实现多个接口 下面是自己反复理了很久才敲出来的,涉及到之前学的很多知识点 如果哪看不懂,真…

文章目录

  • 前言
  • 实现多个接口
  • 接口间的继承
  • 接口使用实例
    • 给对象数组排序
    • 创建一个比较器
  • 总结


前言

实现多个接口

Java中不支持多继承,但是一个类可以实现多个接口

下面是自己反复理了很久才敲出来的,涉及到之前学的很多知识点
如果哪看不懂,真的要回顾旧知识,温故而知新是真的不无道理。
没有前面知识的铺垫也学不到这里。

//父类
abstract  class Animal {public String name;public int age;public Animal() {}public Animal(String name, int age) {this.name = name;this.age = age;}
}//接口
interface IRun{void run();
}
interface IFly{void fly();
}
interface ISwim{void swim();
}//子类继承父类
//Duck继承Animal 具有跑,飞,游泳的特性
class Duck extends Animal implements IRun,IFly,ISwim {//重写父类构造方法public Duck(String name, int age) {super(name, age);}//重写接口抽象类方法@Overridepublic void run() {System.out.println(this.name+"正在用两只脚脚跑");}@Overridepublic void swim() {System.out.println(this.name+"正在用两只脚脚游泳");}@Overridepublic void fly() {System.out.println(this.name+"正在用两只翅膀飞");}}
class Frog extends Animal implements IRun,ISwim{//重写父类构造方法public Frog(String name, int age) {super(name, age);}//重写接口抽象类方法@Overridepublic void run() {System.out.println(this.name+"正在用两条腿 跳着跑!");}@Overridepublic void swim() {System.out.println(this.name+"正在蛙泳!");}}
class Dog extends Animal implements IRun{//重写父类构造方法public Dog(String name, int age) {super(name, age);}//重写接口抽象类方法@Overridepublic void run() {System.out.println(this.name+"正在用两条腿跑!");}
}public class Day{//调用接口方法public static void running(IRun iRun){iRun.run();}public static void flying(IFly iFly){iFly.fly();}public static void swimming(ISwim iSwin){iSwin.swim();}public static void main(String[] args) {//实例化running(new Dog("二狗子",12));running(new Duck("唐老鸭",18));running(new Frog("青蛙王子",16));swimming(new Duck("唐老鸭",18));swimming(new Frog("青蛙王子",16));flying(new Duck("唐老鸭",18));}}

上面的代码是Java 面向对象编程中最常见的用法: 一个类继承一个父类, 同时实现多种接口

接口间的继承

在Java中,类和类之间是单继承的(即子类只能继承一个父类),一个类可以implements多个接口,接口与接口之间可以多继承。

interface A{void dancing();
}//B接口继承A接口的抽象方法
//所以B接口有两个抽象方法了
interface B extends A {void sing();
}
class demo implements B{//重写B接口的两个抽象方法@Overridepublic void dancing() {}@Overridepublic void sing() {}
}

接口使用实例

给对象数组排序

1.死板的写法

//类实现接口进行比较
class Student implements Comparable<Student>{public String name;public int age;public Student(String name, int age) {this.name = name;this.age = age;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +'}';}//重写接口方法@Overridepublic int compareTo(Student o) {if (this. age >o.age){return 1;} else if (this.age == o.age) {return 0;}else{return -1;}}
}
public class Test {public static void main(String[] args) {Student student = new Student("huahau",12);Student student2 = new Student("liangliang",6);System.out.println(student.compareTo(student2));}}

在这里插入图片描述

2.灵活的写法

创建一个比较器

class Student implements Comparable<Student>{public String name;public int age;public Student(String name, int age) {this.name = name;this.age = age;}//重写接口方法@Overridepublic int compareTo(Student o) {return 0;}}
//年龄比较器Comparator<>
class AgeeComparator implements Comparator<Student>{@Overridepublic int compare(Student o1, Student o2) {return o1.age- o2.age;//o1大于o2返回正数,o1小于o2返回负数}
}//姓名比较器Comparator<>
class NameComparator implements Comparator<Student>{@Overridepublic int compare(Student o1, Student o2) {return o1.name.compareTo(o2.name);//姓名不能直接点出来,要点重写的方法}
}public class Test {public static void main(String[] args) {Student student1 = new Student("huahua",12);Student student2 = new Student("liangliang",6);//需要比较年龄,调用比较器就行,比较灵活方便AgeeComparator ageeComparator = new AgeeComparator();System.out.println(ageeComparator.compare(student1, student2));//需要比较姓名,调用比较器就行,比较灵活方便NameComparator nameComparator = new NameComparator();System.out.println(nameComparator.compare(student1, student2));}
}

总结

类实现多个接口:class 子类 extends 父类 implements 接口
接口与接口之间可以多继承:interface B extends A

这是最核心的两点。
多个接口的使用知识还是比较复杂的,多敲代码会更好理解。

http://www.hengruixuexiao.com/news/9501.html

相关文章:

  • 塘沽网站建设公司it培训班
  • 高端定制网站公司哪家好安全优化大师
  • 网站设计与平面设计区别国外广告联盟平台
  • 神箭手wordpress亚马逊关键词优化怎么做
  • 做一张网站图得多少钱搜索关键词分析
  • 可以在公司局域网做网站吗账户竞价托管哪里好
  • 做网站后台怎么搭建电脑系统优化软件排行榜
  • 网站标题滚动代码企业网络营销目标
  • php做二手商城网站源码长沙seo培训
  • 怎么仿制别人的网站凡科建站教程
  • 成都做网站多少钱建网站有哪些步骤
  • 网站建设维护报价手机网站建设案例
  • 具有价值的常州做网站手机金融界网站
  • 网站建设必会的软件新手怎么入行sem
  • 哪个网站卖自己做的手工艺品关键词查询工具哪个好
  • 做学校后台网站用什么浏览器官网整站优化
  • 货代一般用什么网站开发客户seo顾问服
  • div做网站排版谷歌浏览器下载安装2021最新版
  • 重庆忠县网站建设郑州seo排名优化
  • 定制网站开发哪家强磁力狗在线引擎
  • 上海电子商务网站建设网店推广软文范例
  • 网站开发的技术意义优化深圳seo
  • 如何做黄色网站不犯法seo外包靠谱
  • 上海市建设咨询协会网站seo矩阵培训
  • 网站制作首先网站查询
  • wordpress网站发布时间青岛网络工程优化
  • 日本做a图片视频在线观看网站百度首页登录
  • 临沂网络公司惠州网站seo排名优化
  • 聊城网站设计百度推广平台收费标准
  • 贵阳哪里可以做网站品牌公关具体要做些什么