Home  >  Article  >  Backend Development  >  What is the difference between java and php interfaces

What is the difference between java and php interfaces

coldplay.xixi
coldplay.xixiOriginal
2020-09-01 13:28:112464browse

The difference between java and php interfaces is: 1. Abstract methods in php interface can only be public, and the default is public permission; 2. Private methods in java are modified with private for default methods in the interface or Static method call.

What is the difference between java and php interfaces

[Related learning recommendations: php programming (video)]

php:

Specification:

An interface is a special abstract class that only contains abstract methods and static constants.

Abstract methods in interfaces can only be public, and they also have public permissions by default.

The abstract and final modifiers cannot modify abstract methods in interfaces.

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 接口名 {
    // 重写接口中抽象方法【必须】
    // 重写接口中默认方法【可选】
}

Related learning recommendations: java basic tutorial

The above is the detailed content of What is the difference between java and php interfaces. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn