「java实现接口数据」Java中实现接口
本篇文章给大家谈谈java实现接口数据,以及Java中实现接口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中接口是什么意思?
- 2、Java中的接口怎么实现?
- 3、java:接口与接口之间是如何实现的
- 4、用java写个接口实现数据对接
- 5、Java中的接口是什么?如何实现?
- 6、Java实现Comparable接口
java中接口是什么意思?
是指同一计算机不同功能层之间的通信规则称为接口。
java接口作用:
1、利于代码的规范。这样做的目的一方面是为了给开发人员一个清晰的指示,告诉他们哪些业务需要实现;同时也能防止由于开发人员随意命名而导致的命名不清晰和代码混乱,影响开发效率。
2、有利于对代码进行维护。可以一开始定义一个接口,把功能菜单放在接口里,然后定义类时实现这个接口,以后要换的话只不过是引用另一个类而已,这样就达到维护、拓展的方便性。
3、保证代码的安全和严密。一个好的程序一定符合高内聚低耦合的特征,能够让系统的功能较好地实现,而不涉及任何具体的实现细节。这样就比较安全、严密一些,这一思想一般在软件开发中较为常见。
Java中的接口怎么实现?
举个面积的例子:在java中,定义一个接口,声明计算长方形面积和周长的抽象方法,再用一个类去实现这个接口,再编写一个测试类去使用这个接口。首先,接口必须单独存放,如果我们用eclipse编程的话,它们提示:The public type **** must be defined in its own file,意思是必须要定义在其自己的文件中,所以要为接口文件单独存放起来,举例,我们的接口要实现获到矩形的长,宽,面积,周长,所以定义以下的接口。public interface calrect {\x0d\x0apublic abstract int calarea();\x0d\x0apublic abstract int calgirth();\x0d\x0apublic abstract int getx();\x0d\x0apublic abstract int gety();\x0d\x0a}注意,定义接口就像定义类一样,接口的访问控制符只能用public,用public定义的接口可以被所有的类和包引用,而缺省的则只能被同一个包中的其他类和接口引用,这符合JAVA中访问控制符的一般要求,关于接口再引用其他接口则是后话。以上接口文件名为calrect.java.另外需要指出的是接口中不能给方法给出方法体。接下来,需要定义一个类来实现接口,因为不知道JAVA的内置矩形类是什么名,所以为了安全,将该类定义为RRect,这可以认为是一种安全策略。关于implements,可以参考其他资料。该类引用了接口calrect,所以必须对calrect中的方法一一实现。//定义矩形类 应用接口class RRect implements calrect{private int x;\x0d\x0aprivate int y;public RRect (){\x0d\x0a x=3;y=4;\x0d\x0a}\x0d\x0apublic int calarea(){\x0d\x0a return x*y;\x0d\x0a}\x0d\x0apublic int calgirth(){\x0d\x0a return x*2+y*2;\x0d\x0a}\x0d\x0apublic int getx(){\x0d\x0a return x;\x0d\x0a}\x0d\x0apublic int gety(){\x0d\x0a return y;\x0d\x0a}\x0d\x0a}//接下来,定义一个测试类,所谓测试类,我理解为定义一个类,在其定义类RRect的对象,并验证其中的方法,看看是不是可以正常使用//定义Class1类\x0d\x0apublic class Class1{\x0d\x0aRRect rect;\x0d\x0apublic static void main(String []args){\x0d\x0a RRect rect=new RRect();\x0d\x0a System.out.println("矩阵的长"+ rect.getx());\x0d\x0a System.out.println("矩阵的宽"+ rect.calarea());\x0d\x0a System.out.println("矩阵的面积"+ rect.calarea());\x0d\x0a System.out.println("矩形的周长 "+rect.calgirth());\x0d\x0a}\x0d\x0a\x0d\x0a}运行结果:矩阵的长3\x0d\x0a矩阵的宽12\x0d\x0a矩阵的面积12\x0d\x0a矩形的周长 14注:接口单存放,接口实现类和测试类可以存放在一个文件中
java:接口与接口之间是如何实现的
接口与接口之间只能是继承,不能是实现,要实现接口需要定义一个类来实现这个接口,并且这个类必须重写这个接口的所有方法。
具体代码如下:
public class Demo {
interface A{
void a();
}
interface B extends A{
void b();
}
class C implements A{
public void a() {}
}
class D implements B{
public void b() {}
public void a() {}
}
}
会发现接口B继承了接口A之后就拥有了接口A的a()方法,即接口B拥有两个方法。
extends(继承)是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力;implements(实现)用来实现接口中定义的抽象方法。
用java写个接口实现数据对接
string
clazz="xxx"
area
area=class.forname(clazz).newinstance();
xxx是实现的你接口的类
这就是传说中的父类的引用指向子类的对象,多态
第二句话相当于
area
area=new
xxx();
父类的引用只能调用子类实现的方法,而无法调用子类中存在而父类中不存在的方法
父类的引用指向子类的对象时,其调用方法是用子类的方法去实现的
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实现Comparable接口
Java lang Comparable接口中唯一的方法是pareTo() 在该方法中可以进行简单的相等比较以及执行顺序比较 接口实现框架如下 [java] view plaincopyprint?
public class ComparableImpl implements ComparableComparableImpl {
@Override public int pareTo(ComparableImpl o) { // TODO Auto generated method stub return }
}一个类实现了Comparable接口 则说明它的实例具有内在的排序关系 就可以跟多种泛型算法以及依赖于该接口的集合实现进行协作 依赖于比较关系的类包括有序集合类TreeSet和TreeMap 以及工具类Collections和Arrays 若一个数组中的元素实现了Comparable接口 则可以直接使用Arrays类的sort方法对这个数组进行排序 Java平台库中的所有值类(value classes)都实现了Comparable接口
Comparable的规范说明如下 将当前这个对象与指定对象进行顺序比较 当该对象小于 等于或大于指定对象时 分别返回一个负整数 零或者正整数 如果由于指定对象的类型而使得无法进行比较 则抛出ClassCastException异常
pareTo方法的实现必须满足如下几个限制条件 自反性 对称性 传递性和非空性
一般来说 paraTo方法的相等测试应该返回与equals方法相同的结果 如果相同 则由pareTo方法施加的顺序关系被称为 与equals一致 如果不同 则顺序关系被称为 与equals不一致 如果一个类的pareTo方法与equals方法的顺序关系不一致 那么它仍然能正常工作 只是 如果一个有序集合包含了该类的实例 则这个集合可能无法遵循某些集合接口的通用约定 因为集合接口的通用约定是按照equals方法定义的 而有序集合使用了由pareTo施加的相等测试 下面是实现了Comparable接口的类 同时 该类还重写了equals和hashCode等方法 [java] view plaincopyprint?
public abstract class ZLTextPosition implements ComparableZLTextPosition {
public abstract int getParagraphIndex() public abstract int getElementIndex() public abstract int getCharIndex()
public boolean samePositionAs(ZLTextPosition position) { return getParagraphIndex() == position getParagraphIndex() getElementIndex() == position getElementIndex() getCharIndex() == position getCharIndex() }
@Override public int pareTo(ZLTextPosition position) { final int p = getParagraphIndex() final int p = position getParagraphIndex() if (p != p ) { return p p ? }
final int e = getElementIndex() final int e = position getElementIndex() if (e != e ) { return e e ? }
final int c = getCharIndex() final int c = position getCharIndex() if (c != c ) { return c c ? } return }
@Override public boolean equals(Object obj) { if (this == obj) { return true } if (!(obj instanceof ZLTextPosition)) { return false }
final ZLTextPosition position = (ZLTextPosition)obj return samePositionAs(position) }
@Override public int hashCode() { return (getParagraphIndex() ) + (getElementIndex() ) + getCharIndex() }
@Override public String toString() { return getClass() getName() + + getParagraphIndex() + + getElementIndex() + + getCharIndex() }
lishixinzhi/Article/program/Java/hx/201311/26372
java实现接口数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java中实现接口、java实现接口数据的信息别忘了在本站进行查找喔。
发布于:2022-12-27,除非注明,否则均为
原创文章,转载请注明出处。