java中接口的实现有接口声明但没有具体方法实现的接口有哪些

java中有接口声明但没有具体方法实现的接口有哪些_百度知道
java中有接口声明但没有具体方法实现的接口有哪些
常用的 特别是框架里的这种借口有哪些
提问者采纳
这个最常用的就是Serializable序列化接口,这个接口是没有方法的,其他的貌似没怎么见到过
这个接口有什么用啊
就是生成那个serialVersionUID?
这个id有什么用?
说实话我没发现有什么用,而且那个serialVersionUID不写也不会报错,只有个警告而已
提问者评价
太给力了,你的回答完美地解决了我的问题,非常感谢!
其他类似问题
为您推荐:
java的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁文章 - 104&
&&&&&&&&&&&
此代码一共包括4个类,在一个包下面:
分别是CAR.java,BigCar.java,TestCar.java,CarInterface.java,从别人网页上学习,自己心得。
CAR.java:
package com.su.publicinterface CAR {void start();void stop();}
声明一个接口,不实现方法,只声明方法。抽口不能实例化。
BigCar.java:
package com.su.publicclass BigCar implements CAR {@Overridepublicvoid start() {// TODO Auto-generated method stubSystem.out.println("bigcar start...");}@Overridepublicvoid stop() {// TODO Auto-generated method stubSystem.out.println("bigcar stop!");}}
用BigCar类实现接口CAR,实现它的方法,也就是写程序结构体。BigCar是能够实例化的,BigCar的对象是Car型的。当你需要调用接口CAR的方法的时候,需要用CAR的对象来调用CAR的方法,但是CAR又不能实例化,我们就可以用实现了CAR的BigCar的对象来调用CAR的方法。
TestCar.java
package com.su.publicclass TestCar {publicvoid operCar(CAR c){c.start();c.stop();}}
用opeCar方法调用Car的方法。
TestInterface.java
package com.su.publicclass TestInterface {publicstaticvoid main(String[] args){TestCar tc=new TestCar();BigCar bc =new BigCar();tc.operCar(bc);}}
这个例子中,调用operCar方法,需要传实参进去,实参需要是一个对象,对象是BigCar(实现了接口的类)的实例化对象。
输出结果:
bigcar start...bigcar& stop!
总结:当我们调用接口A的方法:Amethod()的时候,通过调用以接口为参数的函数:b(A a) 来调用接口的函数Amethod(),要想调用b,需要传实参进去。
经过自己的研究,自己写了这样下面的:
//接口类:JK.java
package com.su.publicinterface JK {// 接口中可以有几个方法的声明publicvoid MethodA();publicvoid MethodB();}
//接口的实现类 ImplementJK.java
package com.su.publicclass ImplementJK implements JK {@Overridepublicvoid MethodA() {// TODO Auto-generated method stubSystem.out.println("接口JK的MethodA实现。。");}@Overridepublicvoid MethodB() {// TODO Auto-generated method stubSystem.out.println("接口JK的MethodB实现。。");}}
//调用接口的方法的类DJK.java
package com.su.publicclass DJK {publicstaticvoid main(String args[]){ImplementJK implementJk=new ImplementJK();implementJk.MethodA();implementJk.MethodB();}}
只调用MehtodA的时候,就只执行MethodA ,
总结:接口的对象可以调用接口的方法,接口的实现类的对象也可以掉用接口的方法
例子1,又另外定义了一个类TestCar,用这个类的方法(以接口为参数)调用接口的两个方法,再用另外一个类TestInterface调用TestCar的一个方法达到调用接口的两个方法的作用。
例子2,直接用接口的实现类的实例,调用接口的方法。
例子2是自己想的,例子1这种在网上解释比较常见。不知道是否都要用另一个方法以接口为参数,再调用这个方法。以后有待继续研究。
阅读(...) 评论() &Java中利用接口实现回调 - Java教程 - 编程入门网
Java中利用接口实现回调
在 Java 支持方法指针之前,Java 接口不能提供一种实现回调的好方法。如果您习惯于传递在事件驱动编 程模型中调用的函数指针,则您会喜欢本技巧。
熟悉 MS-Windows 和 X Window System 事件驱动编程 模型的开发人员,习惯于传递在某种事件发生时调用(即&回调&)的函数指针。Java 的面向对象模型目前 并不支持方法指针,这样似乎就不可能使用这种很好的机制。但我们并不是一点办法都没有!
Java 的接 口支持提供了一种获得回调的等价功能的机制。其技巧就是:定义一个简单接口,并在该接口中声明我们要调 用的方法。
例如,假定我们希望在某个事件发生时得到通知。我们可以定义一个接口:
public interface InterestingEvent{
// 这仅是一个常规方法。因此如果需要,
// 它可有返回值,也可接收参数。
public void interestingEvent ();
这使得我们可以控制实现该接口的类的任何对象。因此,我们不必关心任何外部类型信息。与在将 C++ 代码用于 Motif 时使用窗口小部件的数据域来容纳对象指针的难以控制的 C 函数相比,这种方法要好得 多。
发出事件信号的类必须等待实现了 InterestingEvent 接口的对象,并在适当时候调用 interestingEvent() 方法。
public class EventNotifier{
private InterestingE
private boolean somethingH
public EventNotifier (InterestingEvent event){
// 保存事件对象以备后用。
// 还没有要报告的事件。
somethingHappened =
public void doWork (){
// 检查在别处设置的谓词。
if (somethingHappened){
// 通过调用接口的这个方法发出事件信号。
ie.interestingEvent ();
在上例中,我使用 somethingHappened 谓词来跟踪是否应触发事件。在许多情况下,调用此方法 足以保证向 interestingEvent() 发出信号。
希望接收事件通知的代码必须实现 InterestingEvent 接口,并将自身引用传递给事件通知程序。
public class CallMe implements InterestingEvent{
private EventN
public CallMe (){
// 创建事件通知程序,并将自身引用传递给它。
en = new EventNotifier (this);
// 为事件定义实际的处理程序。
public void interestingEvent (){
// 噢!必定发生了感兴趣的事件!
// 执行某些操作 ...第三方登录:}

我要回帖

更多关于 java 声明接口 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信