false
另一个例子:
<?php
$dbConn = new \PDO(
'mysql:dbname=my_db;host=localhost;charset=utf8',
'user',
'password',
[PDO::ATTR_ERRMODE => PDO::ERR_EXCEPTION]
);
我试图编译我的程序,但在这种情况下我继续使用this关键字时出错。我明白这个&#39;这个&#39;表示调用该方法的对象,并且静态方法未绑定到任何对象。
实施这个&#39;的正确方法是什么?
答案 0 :(得分:0)
实施'this'的正确方法是什么?
你根本无法实现。静态方法中没有this
的概念。
我正在尝试编译我的程序,但我仍然遇到错误 在这种情况下使用this关键字
如何克服这个问题?
你可以:
或强>
fields/methods
。答案 1 :(得分:0)
您无法“实施”this
。 It's a keyword defined in the language spec,在静态方法中使用它是一个编译时错误。
如果要引用包含类的实例,可以始终将实例作为参数传递:
public static int do_dispatch(YourClass that){
int prior = that.getPriority();
// ...
但请注意1)你不能调用变量this
; 2)这基本上只是一个实例方法,所以为什么要使它static
(即你可以使它像that.do_dispatch()
那样调用非静态方法,而不是do_dispatch(that)
)?
答案 2 :(得分:0)
你做不到。静态方法中没有this
的概念。您必须执行以下操作之一:
do_dispatch
的任何类的特定实例,那么这将是最合适的选项。查看the official tutorial以获得一些见解。如果上述选项都不能用于为程序提供正确的行为,那么您必须根据您在此处学习的有关静态类的内容重新考虑您的基本设计。
答案 3 :(得分:0)
你不能,而且你不需要。只需删除this.
即可。 y
在上下文中是明确的。