java里的interface接口类怎么用

 我来答
一骑当后
推荐于2017-11-27
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
  Java不支持多重继承,即一个类只能有一个父类
  为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口
  接口是抽象方法和常量值定义的集合,是一种特殊的抽象类
接口中只包含常量和方法的定义,没有变量和方法的实现
接口中的所有方法都是抽象的
接口中成员的访问类型都是public
接口中的变量默认使用public static final标识(可以在定义的时候不加此修饰,系统默认)
  接口通过使用关键字interface来声明
格式:interface 接口的名字
  接口体:
接口体中包含常量定义和方法定义两部分
接口体中只进行方法的声明,不允许提供方法的实现
方法的定义没有方法体,且用分号结尾
public interface Runner
{
int ID=1;
void run();
}
  接口允许被继承,可以用extends继承一个已有的接口
public interface Runner
{
int ID=1;
void run();
}
interface Animal extends Runner
{
void breathe();
}
  通过使用implements实现接口中的所有方法
class Fish implements Animal
{
public void run()
{
System.out.println("Fish is swiming");
}
public void breathe()
{
System.out.println("Fish is bubbling");
}
}

如果只需要实现某接口中定义的部分方法,可以通过定义一个抽象类来实现
abstract class LandAnimal implements Animal
{
public void breathe()
{
System.out.println("LandAnimal is breathing");
}
  一个类可以继承一个父类的同时,实现一个或多个接口,extends关键字必须位于implements关键字之前
class Student extends Person implements Runner
{
……
public void run()
{
System.out.println("The student is Running");
}
……
}

在类中实现接口的方法时,方法的名字、返回类型、参数个数及类型必须与接口中的完全一致
  接口中的方法默认是public 的,所有类在实现接口方法时,一定要用public来修饰
  如果接口的方法的返回类型不是void,则在类中实现该接口方法时,方法体至少要有一个return语句
  如果是void类型,类体除了两个大括号以外,可以没有任何语句
  Java中提供的接口都在相应的包中,通过引入包可以使用Java提供的接口,也可以自己定义接口
一个Java源文件就是由类和接口组成的
  接口可以增加很多类都需要实现的功能,不同的类可使用相同的接口,同一个类也可实现多个接口
  接口只关心功能,并不关心功能的具体实现,使用相同接口的类不一定有继承关系
  public接口:接口声明时,关键字interface前面加上public关键字,可以被任何一个类使用
友好接口类:一个接口不加修饰,友好接口可以被同同一包中的类使用,转载,仅供参考。
霸道的浴霸
2018-03-31
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

Java不支持多重继承,即一个类只能有一个父类
为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口
接口是抽象方法和常量值定义的集合,是一种特殊的抽象类
接口中只包含常量和方法的定义,没有变量和方法的实现
接口中的所有方法都是抽象的
接口中成员的访问类型都是public
接口中的变量默认使用public static final标识(可以在定义的时候不加此修饰,系统默认)
接口通过使用关键字interface来声明
格式:interface 接口的名字

1, 实例方法与引用变量实际引用的对象的方法绑定,这种绑定属于动态绑定,因为是在运行时由Java虚拟机
动态决定的
2, 静态方法与引用变量所声明的类型的方法绑定,这种绑定属于静态绑定,因为实际上是在编译阶段就已经
绑定
3, 成员变量(静态变量,实例变量)与引用变量所声明的类型的成员变量绑定,这种绑定属于静态绑定,因为
实际上是在编译阶段就已经绑定

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
grace23450
2016-07-17
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
接口的使用与类的使用有些不同。在需要使用类的地方,会直接使用new关键字来构建一个类的实例,但接口不可以这样使用,因为接口不能直接使用 new 关键字来构建实例。

接口必须通过类来实现(implements)它的抽象方法,然后再实例化类。类实现接口的关键字为implements。

如果一个类不能实现该接口的所有抽象方法,那么这个类必须被定义为抽象方法。

不允许创建接口的实例,但允许定义接口类型的引用变量,该变量指向了实现接口的类的实例。

一个类只能继承一个父类,但却可以实现多个接口。

实现接口的格式如下:
修饰符 class 类名 extends 父类 implements 多个接口 {
实现方法
}

请看下面的例子:
import static java.lang.System.*;

public class Demo{
public static void main(String[] args) {
SataHdd sh1=new SeagateHdd(); //初始化希捷硬盘
SataHdd sh2=new SamsungHdd(); //初始化三星硬盘
}
}

//串行硬盘接口
interface SataHdd{
//连接线的数量
public static final int CONNECT_LINE=4;
//写数据
public void writeData(String data);
//读数据
public String readData();
}

// 维修硬盘接口
interface fixHdd{
// 维修地址
String address = "北京市海淀区";
// 开始维修
boolean doFix();
}

//希捷硬盘
class SeagateHdd implements SataHdd, fixHdd{
//希捷硬盘读取数据
public String readData(){
return "数据";
}
//希捷硬盘写入数据
public void writeData(String data) {
out.println("写入成功");
}
// 维修希捷硬盘
public boolean doFix(){
return true;
}
}
//三星硬盘
class SamsungHdd implements SataHdd{
//三星硬盘读取数据
public String readData(){
return "数据";
}
//三星硬盘写入数据
public void writeData(String data){
out.println("写入成功");
}
}
//某劣质硬盘,不能写数据
abstract class XXHdd implements SataHdd{
//硬盘读取数据
public String readData() {
return "数据";
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woqinbd
2015-02-09
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
在类的名字后面接 implements +你的接口类名字 实现就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贸垒2u
2015-02-09
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
新建一个类 implements 接口 实现它
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式