您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> abstract interface和interface的区别?

abstract interface和interface的区别?

来源:网络整理     时间:2016/8/15 18:31:53     关键词:

关于网友提出的“ abstract interface和interface的区别?”问题疑问,本网通过在网上对“ abstract interface和interface的区别?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: abstract interface和interface的区别?
描述:

今天在eclipse里试验了一下abstract public interface Months { void a();}没有提示错误,请教一下abstract interface和interface的区别到底是什么呢?在网上找了一下还真有一篇对这个的分析,但是没看明白,http://wvem.org/cup1/3941/3941243.htm
希望看明白了的高手高手高高手给解答一下。谢谢大家!


解决方案1:

interface是能被继承的...不过只能被接口继承罢了.....其实除了没实现外和普通类没什么区别

解决方案2:

学习中。。。

解决方案3:

接口比抽象类更抽象
接口是从行为上抽象出来,用于被类实现
抽象类具有属性和行为(实现的行为/未实现的行为),
比实现类抽象,比接口不抽象,用于被子类继承并实现其未实现行为

解决方案4:

大家多读读thinking in java
读多几遍◎◎
J2EE技术交流群:9438177
帮助第一,互相交流,大家帮助大家!共同进步!记住:分享与贡献同等重要!

解决方案5:

interface首先是abstract 的,是一种特殊的abstract 类

解决方案6:

下面是interpb 做的解释。
        “ Class和Class之间是extends
Interface和Interface之间是extends
Class和Interface之间是implements
Interface和abstract  Interface之间仅仅只能被你自己定义的接口extends,不可能implements,   implements是Class和Interface之间的"专利"   
  一句话   就是   abstract   interface   只能被interface继承,不能直接被类实现 ”
下面我要更正一点:其实,abstract interface 不单单能被interface继承,也能直接被类实现 

解决方案7:

学习!

解决方案8:

觉得 没什么不同, interface 本身就是 abstract的呀~

解决方案9:

应该是一样的吧。。。接口就是抽象的。。。但是抽象的不一定是接口。。。

解决方案10:

我也想弄明白这个问题哟!二楼的哥们好象没回答到点子上。
org.apache.commons.logging.Log 这个接口定义的时候给的是一个抽象接口。
与普通的接口有什么区别呢?
public abstract interface Log {
  // Methods
  boolean isDebugEnabled();
  boolean isErrorEnabled();
  boolean isFatalEnabled();
  boolean isInfoEnabled();
  boolean isTraceEnabled();
  boolean isWarnEnabled();
  void trace(Object object);
  void trace(Object object, Throwable throwable);
  void debug(Object object);
  void debug(Object object, Throwable throwable);
  void info(Object object);
  void info(Object object, Throwable throwable);
  void warn(Object object);
  void warn(Object object, Throwable throwable);
  void error(Object object);
  void error(Object object, Throwable throwable);
  void fatal(Object object);
  void fatal(Object object, Throwable throwable);
}

解决方案11:

二楼太
有才了!!!!!!!!!!!!

解决方案12:

我觉得你没有坚持看完:
Interface:接口
Abstract Class:抽象类
Class:类,包括抽象类。
学 Java 的人,或学 OO 编程的人,都是要弄清楚这两个概念的区别。
现将我的观点说一下。
在OO中,Interface 和Abstract Class 是两个不同的概念。
1。Abstract Class类似于 Abstract Data Type(抽象数据类型),它定义了它所有的subclass(子类)应该有的特性,就是在Abstract Class 中声明方法和变量。如定义一种抽象类型:车。那么在Java中,就要在class或method上加上 abstract。举个例:
public abstract class 车
{
  public int 轮子;
  public abstract void 移动();
}
这个抽象类就声明了所有的车应有的特征(如轮子)和行为(如移动)。之后你就可以扩展(extend)这个抽象类,只要是车,就可以,还有你可以在子类(subclass)中加入自己的特征,如
 public class 跑车 extends 车
 {
  public void 移动() 
  {
    System.out.println("我在移动");
  }   
  public void 引擎类型()  //属于自己(跑车)的行为
  {
    System.out.println("高级引擎");
  }
  轮子=4;
 }
 public class 自行车 extends 车
 {
  public void 移动() 
  {
    System.out.println("我在移动");
  }   
  public void 爆胎()  //属于自己(自行车)的行为
  {
    System.out.println("我走不动了");
  }
  轮子=2;
 }
2。Interface 则用来定义一个协议,所有的方法都可以实现它。一个Interface定义了方法,和最终静态(final static)变量,所有实现这个Interface的都要保证实现的东西与这个Interface 定义的行为一致。使用Interface可以让Object(对象)在一定的规范下沟通。

public interface TCP协议
{
 public void 打开端口();
 public void 关闭端口();
}
这样的话,只要实现这个Interface的都可以使用这两个方法交流。
在 Java平台里,它们主要有3个不同点:
1。一个类(Class)只能继承一个超类(Super class),但是可以实现多个Interface。
2。在Abstract Class内,你可以有不抽象(Abstract)的方法,即有意义的方法,但Interface不行。
 如
 public abstract class 车
 {
  public int 轮子;
  public abstract void 移动();
  public String 我是什么()
  {
    return "车子";
  }
 }
3。Interface不属于 继承范围。即不可能成为超类(Super Class)

解决方案13:

uppp

解决方案14:

好像没什么区别,interface本身就是abstract的啊


以上介绍了“ abstract interface和interface的区别?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3305929.html

相关图片

相关文章