当前位置:首页 » 编程语言 » java接口及实现

java接口及实现

发布时间: 2023-05-11 17:26:15

java 类实现接口方法

public class Aircraft implements Vehicle{
private int speed;
public Aircraft(){}
public void setSpeed(int speed){
this.speed=speed;
}
public int getSpeed(){
return this.speed;
}
public void start(int speed){
setSpeed(speed);
}
public void stop(){
this.speed=0;
}
}
Bus同上。
希望对你有所帮助。。。

② Java接口的定义与实现

方法的实现是指可以在{}中写具体的Java代码,接口只能是以()结尾,
public void tree();//方法的定义

//方法的具体实现
public void tree(){
system.out.println("这是一颗松树");

}

③ java 接口到底怎么用 到底应该怎么实现

接口是很重要的面向对象方式,继承接口的类不用全部实现定义的接口,可以这么说,我定义了好多接口,某个类可以陆辩这么实现这个接口,到另一个类你又想那么实现接口,都是含扮可以的。

或者定义完接口不想管他都可以,虽然很冗余。接口不多了不影响操作谈悉灶。

比如:

定义了一个线性表接口。

public interface Ilist {

public void clear();

public boolean isEmpty();

public int length();

}

我想具体实现的话就建立以下实现类:

import .Ilist;

public class SqList implements Ilist {

private Object[] listElem;// 线性表存储空间

private int curLen;// 线性表的当前长度

// 顺序表的构造函数,构造一个存储空间容量为maxSize的线性表

public SqList(int maxSize) {

curLen = 0;

listElem = new Object[maxSize];

}

public void clear() {

curLen = 0;

}

public boolean isEmpty() {

return curLen == 0;// curLen==0时为true,!=0时为false;

}

public int length() {

return curLen;

}

④ Java中的接口怎么实现

举个面积的例子:在java中,定义一个接口,声明计算长方形面积和周长的抽象方法,再用一个类去实现这个接口,再编写一个测试类去使用这个接口。首先,接口必须单独存放,如果我们用eclipse编程的话,它们提示:The public type **** must be defined in its own file,意思是必须要定义在其自己的文件中,所以要为接口文件单独存放起来,举例,我们的接口滑扰要实现获到矩形的长,宽,面积,周长,所以定义以下的接口。public interface calrect {x0dx0apublic abstract int calarea();x0dx0apublic abstract int calgirth();x0dx0apublic abstract int getx();x0dx0apublic abstract int gety();x0dx0a}注意,定义接口就像定义类一样,接口的访问控制符只能用public,用public定义的接口可以被所有的类和包引用,而缺省的则只能罩纳被同一个包中的其他类和接口引用,这符合JAVA中访问控制符的一般要求,关于接口再引用其他接口则是后话。以上接口文件名为calrect.java.另外需要指出的是接口中不能给方法给出方法体。接下来,需要定义一个类来实现接口,因为不知道JAVA的内置矩形类是什么名,所以为了安全,将该类定义为RRect,这可以认为是一物让没种安全策略。关于implements,可以参考其他资料。该类引用了接口calrect,所以必须对calrect中的方法一一实现。//定义矩形类 应用接口class RRect implements calrect{private int x;x0dx0aprivate int y;public RRect (){x0dx0a x=3;y=4;x0dx0a}x0dx0apublic int calarea(){x0dx0a return x*y;x0dx0a}x0dx0apublic int calgirth(){x0dx0a return x*2+y*2;x0dx0a}x0dx0apublic int getx(){x0dx0a return x;x0dx0a}x0dx0apublic int gety(){x0dx0a return y;x0dx0a}x0dx0a}//接下来,定义一个测试类,所谓测试类,我理解为定义一个类,在其定义类RRect的对象,并验证其中的方法,看看是不是可以正常使用//定义Class1类x0dx0apublic class Class1{x0dx0aRRect rect;x0dx0apublic static void main(String []args){x0dx0a RRect rect=new RRect();x0dx0a System.out.println("矩阵的长"+ rect.getx());x0dx0a System.out.println("矩阵的宽"+ rect.calarea());x0dx0a System.out.println("矩阵的面积"+ rect.calarea());x0dx0a System.out.println("矩形的周长 "+rect.calgirth());x0dx0a}x0dx0ax0dx0a}运行结果:矩阵的长3x0dx0a矩阵的宽12x0dx0a矩阵的面积12x0dx0a矩形的周长 14注:接口单存放,接口实现类和测试类可以存放在一个文件中

⑤ java怎么使用接口 java如何实现接口操作

接口是Java 实现多继承的一种机制,一个类可以实现一个或多个接口。接口是一系列

方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些

方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为。简单的说接口不

是类,但是定义了一组对类的要求,实现接口的某些类要与接口一致。

在Java 中使用关键字interface 来定义接口。例如:

publicinterfaceCompare{
publicintcompare(ObjectotherObj);
}

Compare 接口定义了一种操作compare,该操作应当完成与另一个对象进行比较的功能。

它假定某个实现这一接口的类的对象x 在调用该方法时,例如x . compare(y),如果x 小于y,

返回负数,相等返回0,否则返回正数。

举例

{
privateStringsId;//学号
//Constructor
10
publicStudent(){
this("","","");
}
publicStudent(Stringname,Stringid,StringsId){
super(name,id);
this.sId=sId;
}
publicvoidsayHello(){
super.sayHello();
System.out.println(".");
}
//get&setmethod
publicStringgetSId(){
returnthis.sId;}
publicvoidsetSId(StringsId){
this.sId=sId;}
//implementsCompareinterface
publicintcompare(ObjectotherObj){
Studentother=(Student)otherObj;
returnthis.sId.compareTo(other.sId);
}
}//endofclass

⑥ Java中的接口是什么如何实现

Java接口是一系列方法的声明,是一些方法特征的集合,一个雹让接口只有方法的特源袭局征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。接口可以定义类型,但不能直接实例化,必须通过类来实现接口禅弊方法,然后通过类的实例化对象来使用接口。

下面我们声明一个接口:
interface Animal {
public void eat(); //在接口中,不需实现这些方法。
public void travel();
}
用类实现接口中的方法:
public class MammalInt implements Animal{
public void eat(){
System.out.println("Mammal eats");
}
public void travel(){
System.out.println("Mammal travels");
}
}
对于接口和实现的问题,你可以在秒秒学了解下。

⑦ java 接口怎么用应该怎么实现

java语言不支持一个类有多个直接的父类(多继承),但可以实现(implements)多个接口,间接的实现了多继承x0dx0a用法public class test implements 接口名称x0dx0a当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象的x0dx0ax0dx0a比较抽象类与接口x0dx0a1, 抽象类与接口都位于继承树的上层x0dx0a相同点x0dx0a1, 代表系统的抽象层,当一个系统使用一颗继承树上的类时,应该尽量把引用变量声明为继承树的上层抽象类型,这样可以提高两个系统之间的送耦合x0dx0a2, 都不能被实例化x0dx0a3, 都包含抽象方法,这些抽象方法用于描述系统能提供哪些服务,但不提供具体的实现x0dx0a不同点:x0dx0a1, 在抽象类中可以为部分方法提供默认的实现,从而避免在子类中重复实现它们,这是抽象类的优势,但这一优势限制了多继承,而接口中只能包含抽象方法.由于在抽象类中允许加入具体方法,因此扩展抽象类的功能,即向抽象类中添加具体方法,不会对它的子类造成影响,而对于接口,一旦接口被公布,就必须非常稳定,因为随意在接口中添加抽象方法,会影响到所有的实现类,这些实现类要么实现新增的抽象方法,要么声明为抽象类x0dx0a2, 一个类只能继承一个直接的父类,这个父类可能是抽象类,但一个类可以实现多个接口,这是接口的优势,但这一优势是以不允许为任何方法提供实现作为代价的三, 为什么Java语言不允许多重继承呢?当子类覆盖父类的实例方法或隐藏父类的成员变量及静态方法时,Java虚拟机采用不同的绑定规则,假如还允许一个类有多个直接的父类,那么会使绑定规则更加复杂,x0dx0a因此坦陪,为了简化系统结构设计和动态绑定机制,Java语言禁止多重继承.而接口中只有抽象方法,没有实例变量和静态方法,只有接口的实现类才会实现接口的抽象方法(接口中的抽象方法是通过类来实现的),因此,一个类即使有多个接口,也不会增加Java虚拟机进行动态绑定的复杂度.因为Java虚拟机永远不会把方法与接口绑定,而只会把方法与它的实现类绑定.四, 使用接口和抽象类的总体原则:x0dx0a1, 用接口作为系统与外界交互的窗口站在外界使用者(另一个系统)的角度,接口向使用者承诺系统能提供哪些服务,站在系统本身的角指枣度,接口制定系统必须实现哪些服务,接口是系统中最高层次的抽象类型.通过接口交互可以提高两个系统之间的送耦合系统A通过系统B进行交互,是指系统A访问系统B时,把引用变量声明为系统B中的接口类型,该引用变量引用系统B中接口的实现类的实例。x0dx0apublic interface B x0dx0a { x0dx0a } x0dx0a public class C implements B x0dx0a { x0dx0a } x0dx0a public class A x0dx0a { x0dx0a } x0dx0a B a = new C(); x0dx0a2, Java接口本身必须非常稳定,Java接口一旦制定,就不允许随遇更加,否则对外面使用者及系统本身造成让逗蠢影响x0dx0a3, 用抽象类来定制系统中的扩展点x0dx0a抽象类来完成部分实现,还要一些功能通过它的子类来实现

⑧ JAVA:一个类实现多个接口

//A接口interface A{

public int getA();

}

//B接口

interface B{

public int getB();

}

//实现了某个接口必须实现其全部的方法

public class ImpAB implements A,B{

public int getA() {

return 0;

}

public int getB() {

return 0;

}

}

(8)java接口及实现扩展阅读:

功能

在Java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的袜迟返回类型,参数的名字以及所抛出来的异常告宴李。

在Java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。但在Java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。

接口实现和类继承的规则不同,为了数据的安全,继承时一个类只有一个直接父类,也就是单继承,但是祥迹一个类可以实现多个接口,接口弥补了类的不能多继承缺点,继承和接口的双重设计既保持了类的数据安全也变相实现了多继承。

Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。但是接口不是类,不能使用new 运算符实例化一个接口。

Java接口的方法只能是抽象的和公开的,Java接口不能有构造器,Java接口可以有public、static和final属性。即接口中的属性可以定义为 public static final int value=5。

接口把方法的特征和方法的实现分割开来。这种分割体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其它的共同之处。

⑨ java怎么定义一个接口

java中接口的定义和接口的实现

1.接口的定义

使用interface来定义一个接口。接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和隐帆方法定义两部分组成。定义接口的基本格式如下:

[修饰符] interface 接口名 [extends 父接口名列表]{

[public] [static] [final] 常量;

[public] [abstract] 方法;

}

修饰符:可选,用于指定接口的访问权限,可选值为public。如果省略则使用默认的访问权限。

接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标识符。一般情况下,要求首字母大写。

extends 父接口名列表:可选参数,用于指定要定义的接口继承于哪个父接口。当使用extends关键字时,父接口名为必选参数。

方法:接口中的方法只有定义而没有被实现。

例如,定义一个用于计算的接口,在该接口中定义了一个常量PI和两个方法,具体代码如下:

1 public interface CalInterface

2 {

3 final float PI=3.14159f;//定义用于表示圆周率的常量PI

4 float getArea(float r);//定义一个用于计算面积的方法getArea()

5 float getCircumference(float r);//定义一个用于计算周长的方法getCircumference()

6 }

注意:

与Java的类文件一样,接口文件的文件名必须与接口名相同。

2.接口的实现

接口在定义后,就可以在类中实现该接口。在类中实现接口可以使用关键字implements,其基本格好橡式如下:

[修饰符] class <类名> [extends 父类名] [implements 接口列表]{

}

修饰符:可选参数,用于指定类的访问权限,可选值为public、abstract和final。

类名:必选参数,用于指定类的名称,类名必须是合法的Java标识符。一般情况下,要求首字母大写。

extends 父类名:可选参数,用于指定要定义的类继承于哪个父类。当使用extends关键字时,父类名为必选参数。

implements 接口列表:可选参数,用于指定该类实现的是哪些接口。当使用implements关键字时,接口列表为必选参数。当接口列表中存在多个接口名时,各个接口名之间使用逗号分隔。

在类中实现接口时,方法的名字、返回值类型、参数的个数及类型必须与接口中的完全一致,并且必须实现接口中的所有方法。例如,编写一个名称为Cire的类,该类实现5.7.1节中定义的接口Calculate,具体代码如下:

1 public class Cire implements CalInterface

2 {

3 public float getArea(float r)

4 {

5 float area=PI*r*r;//计算圆面积并赋值给变量area

6 return area;//返回计算后的圆面积

7 }

8 public float getCircumference(float r)

9 {

10 float circumference=2*PI*r; //计算圆周长并赋值给变量circumference

11 return circumference; //返回计算后的圆周长

12 }

13 public static void main(String[] args)

14 {

15 Cire c = new Cire();

16 float f = c.getArea(2.0f);

17 System.out.println(Float.toString(f));

18 }

19 }

在类的继承中,只能做单重继承,而实现接口时,一次则可以实现多个接口,每个接口间使用逗号“,”分隔。这时就可能出现常量或方法名冲突的情况,解决该问题时,如果常量冲突,则需要明确指定常量的接口,这可以通过“接口名.常量”实现。如果出灶袜雹现方法冲突时,则只要实现一个方法就可以了。下面通过一个具体的实例详细介绍以上问题的解决方法。

⑩ java中接口的实现

你的接口中只是生明了一个模型,由它的子类去实现它的方法
你的Foo 中有个 bar的方法

这个方法,有可能有三个子类,返回的值都不一样呢?

你看你上面的代码,Sprite 中的bar return 0

假设现在有个类叫Sprite2 同样也是实现了Foo 并在bar方法中return 100

那么你的程序
Foo a =new Sprite();
a.bar(); //得到是0

Foo a =new Sprite2();
a.bar(); //得到是100

这是java的多态性,新手比较难理解

热点内容
ftp命令使用 发布:2025-07-18 18:13:05 浏览:45
办税密码是什么 发布:2025-07-18 18:12:32 浏览:487
linuxftp文件下载 发布:2025-07-18 18:12:30 浏览:941
互联网网站服务器搭建 发布:2025-07-18 18:01:06 浏览:478
安卓手机怎么辫真伪 发布:2025-07-18 17:13:14 浏览:186
java后台json 发布:2025-07-18 17:12:21 浏览:680
手机游戏配置主要看哪些 发布:2025-07-18 17:00:47 浏览:148
微课源码 发布:2025-07-18 16:34:44 浏览:1001
压缩长抱枕 发布:2025-07-18 16:13:38 浏览:505
如何使用wifi热点配置网络 发布:2025-07-18 16:06:25 浏览:970