Java和PHP中的这个关键字

今天我开始研究一个小型Java应用程序。 我有一些PHP OOP的经验,大多数原则是一样的。 虽然我认为,它应该适用于两种方式。

但是,例如关键字,我的理解使用的方式不同。 在Java中

 class Params { public int x; public int y; public Params( int x, int y ) { this.x = x; this.y = y; } public void display() { System.out.println( "x = " + x ); System.out.println( "y = " + y ); } } public class Main { public static void main( String[] args ) { Params param = new Params( 4, 5 ); param.display(); } } 

同时在PHP中需要做同样的事情

 x = $x; $this->y = $y; } public void display() { echo "x = " . $this->x . "\n"; echo "y = " . $this->y . "\n"; } } class Main { public function __construct() { $param = new Params( 4, 5 ); $param->display(); } } $main = new Main(); ?> 

我想问一下this关键字还有其他一些不同之处吗?

因为我看到,在Java中它用于返回修改对象的实例,如果我传递具有相同名称的参数,则作为类中的属性。 然后分配值我需要清楚地显示什么是参数和什么是类属性。 例如,如上所示: this.x = x;

在Java中,您并不总是需要说’这个’Java会解决它。 当你需要说这个时,唯一的情况是局部变量与实例变量同名,在这种情况下,如果你不说这个,Java将使用局部变量。

但你仍然可以说this.var,即使它在Java中没有必要,如果它让你更好地理解代码。

是的,php中的“this”关键字与java中的相同,并没有其他区别

Java和PHP与处理this关键字的方式不同。

阅读此问题和答案 ,它解释了PHP中此关键字的一些奇怪行为。