gpt4 book ai didi

java - 与在以下 Java 代码中使用类名调用方法非常混淆

转载 作者:行者123 更新时间:2023-11-30 07:32:02 25 4
gpt4 key购买 nike

class printer
{
void print(String p)
{
System.out.println(p);
}
}

class test
{
public static void main(String args[])
{
(new printer()).print("Hello World!");
}
}

上面的代码100%正确但是

谁能解释一下

第 13 行的代码如何为真。

我听说静态成员只能使用其类名来调用

因此,为什么即使“print”方法不是静态的,上面的代码也是正确的。

最佳答案

在讨论方法访问规则时,

 (new Printer()).print("Hello World!");

相同
Printer printer = new Printer();
printer.print("Hello World!");

但是,

Printer.print("Hello World!");

将是静态访问且不允许。

(new Printer())

创建一个新实例但不给它一个引用。

关于java - 与在以下 Java 代码中使用类名调用方法非常混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6871774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com