java直接从另一个类访问方法
我希望能够直接使用另一个类中的方法
import package.dialog;
public class Class1 {
public static void main(String[] args) {
dialog.dialog("This is a dialog");
}
}
import javax.swing.JOptionPane
public class dialog {
public static void dialog(String message) {
JOptionPane.showMessageDialog(null, message);
}
}
这段代码的工作原理与预期完全一致,但正如您所见,我使用的是对话框。dialog()。我想知道是否有一种直接使用对话框的方法
# 1 楼答案
首先,您的示例无法编译,因为您无法将包命名为“package”。“package”是一个Java关键字,不允许用作标识符
所以我们称之为“我的包裹”。根据Java惯例,你应该用大写字母命名类。因此,在下面的示例中,我将使用
Dialog
而不是dialog
作为类名然后可以使用静态导入调用方法
dialog()
,而不使用前缀# 2 楼答案
不,这是不可能的。考虑以下情况:
编译器如何知道要调用哪一个方法?
dialog
类中的dialog
方法,还是SomeOtherClass
中的dialog
方法编程语言通常经过精心设计,以避免出现这种歧义
一个臭名昭著的设计不佳的例子(以及你所建议的潜在困难)是C++中的diamond problem和具有多重继承的其他语言,这是一个模糊的结果,与你所提出的非常相似。事实上,这是C#和Java禁止多重继承的主要原因之一。重点是,这并不是你想要的语言
最终,这将使代码更难阅读,而且可能会模棱两可,只是为了节省一点打字时间。记住,为了可读性,最好尽可能明确地表达你的意图