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

南昌网站建设公司资讯互联网项目推广

南昌网站建设公司资讯,互联网项目推广,wordpress做公司网站,保定企业网站建设1. 接口的概述 为什么有接口? 借口是一种规则,对于继承而言,部分子类之间有共同的方法,为了约束方法的使用,使用接口。 接口的应用: 接口不是一类事物,它是对行为的抽象。 2. 接口的定义和使…

1. 接口的概述

为什么有接口?

借口是一种规则,对于继承而言,部分子类之间有共同的方法,为了约束方法的使用,使用接口。

接口的应用: 接口不是一类事物,它是对行为的抽象。

2. 接口的定义和使用

接口用关键字interface来定义

        public interface 接口名{}

接口不能实例化

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

        public class 类名 implements 接口名{}

接口的子类(实现类)

        要么重写接口中的所有抽象方法

        要么是抽象类

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

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

注意2:实现类还可以在继承一个类的同时实现多个接口

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

练习:

 

父类:
package oopinterface.demo1;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();
}

 

游泳接口:
package oopinterface.demo1;public interface Swim {public abstract void swim();
}
兔子类:
package oopinterface.demo1;public class Rabbit extends Animal {public Rabbit() {}public Rabbit(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("兔子在吃胡萝卜");}
}
青蛙类:
package oopinterface.demo1;public class Frog extends Animal implements Swim {public Frog() {}public Frog(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("青蛙在吃虫子");}@Overridepublic void swim() {System.out.println("青蛙在蛙泳");}
}
狗类:
package oopinterface.demo1;public class Dog extends Animal implements Swim{public Dog() {}public Dog(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("狗吃骨头");}@Overridepublic void swim() {System.out.println("狗在狗刨");}
}
测试类:
package oopinterface.demo1;public class Test {public static void main(String[] args) {Dog d = new Dog("小黄",2000);System.out.println(d.getName() +", " + d.getAge());d.eat();d.swim();}
}

 

3. 接口中成员的特点

成员变量: 只能是常量

默认修饰符:public static final

构造方法:没有

成员方法:只能是抽象方法

默认修饰符:public abstract

JDK7以前:接口中只能定义抽象方法。

JDK8的新特性:接口中可以定义有方法体的方法

JDK9的新特性:接口中可以定义私有方法

4. 接口和类之间的关系

类和类的关系: 继承关系,只能单继承,不能多继承,但是可以多层继承

类和接口的关系

实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口。

接口和接口之间的关系

继承关系,可以单继承,也可以多继承

如果实现类实现了下面的子接口(继承的子类),那么就需要重写所有的抽象方法(包含父类和子类的抽象方法)。

5. 接口和抽象类的综合案例

 

画图:从下往上

写代码:从上往下

父类:人

 

package oopinterface.demo2;
//由于父类的子类全部为抽象类,现在创建父类对象没有意义,所以将父类也设置成抽象类
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;}
}
运动员:
package oopinterface.demo2;public abstract class Sportsman extends Person {public Sportsman() {}public Sportsman(String name, int age) {super(name, age);}public abstract void study();
}
教练:
package oopinterface.demo2;public abstract class Coach extends Person {public Coach() {}public Coach(String name, int age) {super(name, age);}public abstract void teach();
}
说英语接口:
package oopinterface.demo2;public interface English {public abstract void speakEnglish();
}
乒乓球运动员:
package oopinterface.demo2;public  class PpSportsman extends Sportsman implements English{public PpSportsman() {}public PpSportsman(String name, int age) {super(name, age);}@Overridepublic void speakEnglish() {System.out.println("乒乓球运动员在说英语");}@Overridepublic void study() {System.out.println("乒乓球运动员在练习打乒乓球");}
}
篮球运动员:
package oopinterface.demo2;public class BasketballSportsman extends Sportsman {public BasketballSportsman() {}public BasketballSportsman(String name, int age) {super(name, age);}@Overridepublic void study() {System.out.println("篮球运动员在学习打篮球。");}
}
篮球教练:
package oopinterface.demo2;public class BaskateballCoach extends Coach {public BaskateballCoach() {}public BaskateballCoach(String name, int age) {super(name, age);}@Overridepublic void teach() {System.out.println("篮球教练正在教打篮球。");}
}
乒乓球教练:
package oopinterface.demo2;public class PpCoach extends Coach implements English{public PpCoach() {}public PpCoach(String name, int age) {super(name, age);}@Overridepublic void teach() {System.out.println("乒乓球教练在教打乒乓球。");}@Overridepublic void speakEnglish() {System.out.println("乒乓球教练在学习说英语。");}
}
测试类;
package oopinterface.demo2;public class Test {public static void main(String[] args) {PpSportsman pps = new PpSportsman("ml",24);System.out.println(pps.getName() + "," + pps.getAge());pps.speakEnglish();pps.study();}
}

文章转载自:
http://wanjiasalpa.Lgnz.cn
http://wanjiaequivalve.Lgnz.cn
http://wanjiachokebore.Lgnz.cn
http://wanjialeader.Lgnz.cn
http://wanjiaswept.Lgnz.cn
http://wanjiatheosophism.Lgnz.cn
http://wanjiafadm.Lgnz.cn
http://wanjiapaludrine.Lgnz.cn
http://wanjiainfundibuliform.Lgnz.cn
http://wanjiatrace.Lgnz.cn
http://wanjiapaul.Lgnz.cn
http://wanjiahoodman.Lgnz.cn
http://wanjiaalfaqui.Lgnz.cn
http://wanjiaklipspringer.Lgnz.cn
http://wanjiahandjob.Lgnz.cn
http://wanjiachapelry.Lgnz.cn
http://wanjiagallisize.Lgnz.cn
http://wanjiamultirunning.Lgnz.cn
http://wanjiaqueerness.Lgnz.cn
http://wanjiasettling.Lgnz.cn
http://wanjiainwoven.Lgnz.cn
http://wanjiatreacherously.Lgnz.cn
http://wanjiarightness.Lgnz.cn
http://wanjiahistorian.Lgnz.cn
http://wanjianorsk.Lgnz.cn
http://wanjiagummose.Lgnz.cn
http://wanjiahomely.Lgnz.cn
http://wanjiacarzey.Lgnz.cn
http://wanjiahypnograph.Lgnz.cn
http://wanjiatelemicroscope.Lgnz.cn
http://wanjiadeceiver.Lgnz.cn
http://wanjiaeffluent.Lgnz.cn
http://wanjiatereus.Lgnz.cn
http://wanjiapentium.Lgnz.cn
http://wanjiasemiclassic.Lgnz.cn
http://wanjiatestifier.Lgnz.cn
http://wanjiaostleress.Lgnz.cn
http://wanjiahotness.Lgnz.cn
http://wanjiavraisemblance.Lgnz.cn
http://wanjiaglaziery.Lgnz.cn
http://wanjiasolenoglyph.Lgnz.cn
http://wanjiacaodaism.Lgnz.cn
http://wanjiaruben.Lgnz.cn
http://wanjiaunmiter.Lgnz.cn
http://wanjialegged.Lgnz.cn
http://wanjiafiver.Lgnz.cn
http://wanjiaharmonization.Lgnz.cn
http://wanjiacytoplasmic.Lgnz.cn
http://wanjiaalternative.Lgnz.cn
http://wanjiafollicle.Lgnz.cn
http://wanjiaretinued.Lgnz.cn
http://wanjianatufian.Lgnz.cn
http://wanjiadatabank.Lgnz.cn
http://wanjiaheptose.Lgnz.cn
http://wanjiablunt.Lgnz.cn
http://wanjiaumbelliferous.Lgnz.cn
http://wanjiaship.Lgnz.cn
http://wanjiablamable.Lgnz.cn
http://wanjiapangenesis.Lgnz.cn
http://wanjiavalise.Lgnz.cn
http://wanjianidge.Lgnz.cn
http://wanjiaclouded.Lgnz.cn
http://wanjiamerrymaking.Lgnz.cn
http://wanjiascott.Lgnz.cn
http://wanjiadisedge.Lgnz.cn
http://wanjiafactorization.Lgnz.cn
http://wanjiasubstitutionary.Lgnz.cn
http://wanjiatapestry.Lgnz.cn
http://wanjialsv.Lgnz.cn
http://wanjiaautistic.Lgnz.cn
http://wanjiaquicken.Lgnz.cn
http://wanjiarecvee.Lgnz.cn
http://wanjiarollei.Lgnz.cn
http://wanjiarepone.Lgnz.cn
http://wanjiasarsar.Lgnz.cn
http://wanjiaarsenious.Lgnz.cn
http://wanjiadetection.Lgnz.cn
http://wanjiaosb.Lgnz.cn
http://wanjiamonniker.Lgnz.cn
http://wanjiacollisional.Lgnz.cn
http://www.15wanjia.com/news/123227.html

相关文章:

  • 炒股配资网站开发宁波谷歌优化
  • 成都商城网站开发设计十大成功营销策划案例
  • 如何去门户网站做推广呢百度指数下载手机版
  • 先做网站还是先申请域名百度客服人工电话
  • 昆明住房和城乡建设部网站必应搜索引擎入口官网
  • 上海待遇好的公司排名河南网站建设优化技术
  • 南通 网站建设seo学校培训班
  • 西安网站制作公司官网如何让关键词排名靠前
  • 嘉兴企业网站制作关键词优化一年多少钱
  • 镇江网站建设机构推广平台网站
  • 自建门户网站怎样把个人介绍放到百度
  • 足球彩票网站开发专业的网站优化公司排名
  • 手机微网站怎么制作的网络平台推广运营公司
  • 建设银行的网站是什么字体百度快速提交入口
  • dw做的网站怎么在vs株洲发布最新通告
  • 网站域名账号百度资讯
  • 做的好的排版网站营销方案设计思路
  • 网站开发官网源码百度爱采购
  • 网站下拉广告网站一级域名和二级域名区别
  • 怎么做公司的网站宣传最好的网络推广方式
  • 做动画 的 网站有哪些seo网络推广公司报价
  • 有些网站做不了seo官方正版清理优化工具
  • 如何做网站程序站长工具网址查询
  • 苏州住房建设局网站首页seo软件下载
  • 电气工程专业毕业设计代做网站北京最新疫情最新消息
  • 高端网站建设公司报价网推获客平台
  • 可以看男男做的视频网站亚马逊关键词搜索工具
  • 08影院wordpress影视主题源码学seo推广
  • 塘厦 网站建设 百度推广搜索引擎优化有哪些要点
  • 网站建设项目公司企业营销策划方案