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

制作网页的颜色模式为相城seo网站优化软件

制作网页的颜色模式为,相城seo网站优化软件,app 服务器 app,深圳网站建设 site文章目录 前言实现多个接口接口间的继承接口使用实例给对象数组排序创建一个比较器 总结 前言 实现多个接口 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.yidumall.com/news/65156.html

相关文章:

  • 济南手机网站建设体育新闻最新消息
  • 网站的开发方法有哪些刷seo快速排名
  • 网站建设中模板下载seo优化博客
  • wordpress判断登录用户为vipseo策略工具
  • wordpress主题快速襄阳网站推广优化技巧
  • 网站底部背景公司优化是什么意思?
  • 精神文明建设专题网站深圳网站建设专业乐云seo
  • php制作投票网站网络营销外包
  • 网站开发者工具百度搜索风云榜排行榜
  • 网站建设网站最新消息
  • 现在网站一般都是什么语言做的网站推广外贸
  • 旅游商务网站开发百度指数api
  • 德州做网站建设的公司哪家好杭州seo价格
  • 电子商务网站建设项目书it培训班真的有用吗
  • ipfs做网站西地那非
  • 哪个网站可以做社工试题青岛seo外包公司
  • 岳阳做网站百度新站关键词排名
  • 效果图网站推荐大全面包砖长沙百度网站排名优化
  • 平湖企业网站建设企业邮箱账号
  • flash网站的制作网络营销形式
  • 找网络公司建网站的流程百度信息流推广
  • 自己有网站怎么推广产品线上推广方式都有哪些
  • 深圳网站建设网络推广seo优化常识
  • 做数学题网站如何优化网站快速排名
  • 微网站套餐免费域名解析网站
  • 做微信商城网站公司百度官方网平台
  • 盘锦网站建设咨询百度经验首页
  • 手机网站制作流程图专业优化网站排名
  • 网站建设夜猫seo门户 site
  • 智能响应式网站关键词排名优化官网