接口, 抽象类

1.什么是接口,什么是抽象类

  接口: 在java中我们,用关健字interface定义接口。如下面所示:

     

public interface Example {

}

 实际上,接口定义了一系列的行为,一组方法声明或者我们称之为签名,如下面所示:

public interface Example {

    public void method1();

    public int method2(int a, int b);
    
    public double method3();
}

  从上面可以看出,接口什么都实现不了,只是作为一种规范。

     每个实现接口的方法都必须实现接口中每个方法,包括个修饰符和参数。接口在实际开发中,确保相似的类实现相似的功能,作为多态运用的一部分。

     注意:在接口中所定义的方法的只能是public ,而且在接口中不能定义变量,只有定义常量。

    抽象类:

     在java中,用关健字abstract定义抽象类,如下面所示:

     

public abstract class ExampbleOfAbstract {


}

  抽类里面可以有抽象方法,也可以有具体方法,如下面所示:

              

public abstract class ExampbleOfAbstract {
 
    public int add(int a, int b ){
        return a + b ; 
    }
    abstract void getNumber();

}

  一旦类中有抽象方法,该类必须声明为抽象类。

     继承抽象类的类必须重写抽象类的所有抽象方法。

2.接口与抽象类的不同点:

1.接口中没有自己的成员变量,只能是常量。抽象类里可以有自己的成员变量。

2.接口中的方法都只能是声明,而只能声明为公开的。而抽象类中的方法可以有具体方法也或以有抽象方法,而且可以可以定义访问符。

3.抽象类在java中表示一种继承关系,一个类只能用一次继承。但是,一个类,却可以实现多个接口,弥补了类我多继承问题。

原文地址:https://www.cnblogs.com/qgzhan/p/3205017.html