Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
接口:php与java_Java_Php_Interface_Double - Fatal编程技术网

接口:php与java

接口:php与java,java,php,interface,double,Java,Php,Interface,Double,当您在java和php的接口中创建相同的方法时,我注意到它们在接口上有很大的不同 PHP: 爪哇: 您可以在3:35查看java的check-on 为什么java允许这样做?double有什么作用?在php中,没有double?Java实际上允许重载:这意味着您可以使用具有相同名称但具有两个不同签名的方法 对于Java,在重载中有两个同名的方法visit: 接受类型为Visitable的参数 另一个可访问表2 在PHP中不能这样做,因为PHP不支持重载 另外请注意,double(方法返回类型)在

当您在java和php的接口中创建相同的方法时,我注意到它们在接口上有很大的不同

PHP:

爪哇:

您可以在3:35查看java的check-on


为什么java允许这样做?
double
有什么作用?在php中,没有
double

Java实际上允许重载:这意味着您可以使用具有相同名称但具有两个不同签名的方法

对于Java,在重载中有两个同名的方法
visit

  • 接受类型为Visitable的参数
  • 另一个
    可访问表2
  • 在PHP中不能这样做,因为PHP不支持重载


    另外请注意,
    double
    (方法返回类型)在这种情况下不起任何作用。只有返回类型才能实现重载,因为编译器/解释器在某些情况下无法知道要绑定哪个实现。

    double是方法的返回类型。PHP不允许类中的方法重载,Java允许。。。。PHP!==JavaNote返回类型暗示是为PHP7设计的-这将是很酷的!期待它!谢谢如果php将来支持这一点,那就太酷了!
    interface Visitor 
    {
        public function visit(Visitable $Visitable);
        public function visit(Visitable2 $Visitable2); // this is wrong in php.
    }
    
    interface Visitor 
    {
        public double visit(Visitable Visitable);
        public double visit(Visitable2 Visitable2); // this is ok in java
    }