抽象类跟接口区别

抽象类和接口区别
如下代码,是使用接口时需要注意的问题。

Java代码
public interface InterfaceTest   
{  
    public int a = 1;  
    static int aa = 2;  
    final int aaa = 3;  
      
    public void s();  
      
    abstract void ss();  
      
//  public int c;           //错误,未初始化  
//  private int b = 1;      //错误,不能为private  
//  private void t();       //错误,不能为private  
//  static void d() { };    //错误,不能为static  
//  public void dd(){ }     //错误,不能有方法体  


public interface InterfaceTest
{
public int a = 1;
static int aa = 2;
final int aaa = 3;

public void s();

abstract void ss();

// public int c;      //错误,未初始化
// private int b = 1; //错误,不能为private
// private void t(); //错误,不能为private
// static void d() { }; //错误,不能为static
// public void dd(){ } //错误,不能有方法体
}



下面的代码是使用抽象类时需要注意的问题。



Java代码
public abstract class AbstractTest   
{  
    private int a;  
      
    public void s() { }  
      
    private void ss() { }  
      
    final void dd() { }  
      
    //可以没有抽象方法  
    //抽象方法不能有方法体  
    public abstract void sss();  
      
//  private abstract void ddd(); //错误,不能为private  
//  public void d();  //错误,必须有方法体  
}