java中的接口和php的接口的区别

php:

规范:
    接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量。
    在接口中的抽象方法只能是public的,默认也是public权限。
    abstract和final修饰符也不能修饰接口中的抽象方法。

interface User
{
    //public $name;//报错,只能包含抽象方法和静态常量。
    const GROUP = 12;//静态常量

    //public function t(){};//报错,只能包含抽象方法和静态常量。
    //private function t(){};//报错,接口中的抽象方法只能是public的,默认也是public权限。
    //abstract function t(){};//报错,abstract和final修饰符也不能修饰接口中的抽象方法。

    //仅下面两种定义方法可以
    public function right1();
    function right2();
}

java:

public interface 接口名称 {
    // 抽象方法:使用 abstract 关键字修饰,可以省略,没有方法体。该方法供子类实现使用。
    public abstract void method();

    // 默认方法:使用 default 修饰,不可省略,供子类调用或者子类
    // 静态方法:使用 static 修饰,供接口直接
    public default void method() {
        // 执行语句
    }
// 只能通过接口名调用,不能通过实现类调用
public static void method2() { // 执行语句 } // 私有方法:使用 private 修饰,供接口中的默认方法或者静态方法调用。 private void method(){ //执行语句 } } 类实现接口 class 类名 implements 接口名 { // 重写接口中抽象方法【必须】 // 重写接口中默认方法【可选】 }

猜你喜欢

转载自www.cnblogs.com/qq1069284034/p/11654213.html