Java 我可以创建一个方法来接受它将执行的参数吗
我将形成我的新问题 这是我目前拥有的LWJGL而不是JButton:Java 我可以创建一个方法来接受它将执行的参数吗,java,methods,lwjgl,Java,Methods,Lwjgl,我将形成我的新问题 这是我目前拥有的LWJGL而不是JButton: public static boolean isButtonClicked(String buttonName){ Button b = getButton(buttonName); float mouseY = essentials.Boot.HEIGHT - Mouse.getY() - 1; if (Mouse.getX() > b.getX() && Mouse.getX(
public static boolean isButtonClicked(String buttonName){
Button b = getButton(buttonName);
float mouseY = essentials.Boot.HEIGHT - Mouse.getY() - 1;
if (Mouse.getX() > b.getX() && Mouse.getX() < b.getX() + b.getWidth() &&
mouseY > b.getY() && mouseY < b.getY() + b.getHeight()){
return true;
}
return false;
}
因此,我不希望在我的主要语句中有几个if语句。但如果点击按钮,我想做的事情总是不同的。所以我的问题是,是否有一种方法可以做到这一点。如果你仍然不知道我的意思,我就要删除这篇文章。你是说这样的事情吗:
public static void doSmth(String value) {
System.out.println(value);
}
//When you call it
doSmth("Hello world");
您可以使用Interface/Lambda将一个方法传递给另一个方法。例如:
public interface Procedure {
void act();
}
public void executeCommand(Procedure proc){
proc.act();
}
//...
// pass a method using lambda expression:
executeCommand(()->{system.out.println("Hello world"});
//pass a method using traditional way (anonymous class)
executeCommand(new Procedure() {
public void act() {
system.out.println("Hello world");
}
});
请选修Java课程或阅读Java编程入门书籍。如果你问是否可以参数化方法,那么答案是肯定的。如果你是定义它们的人。你想要一个方法作为参数吗?看起来像JavascriptIt,我想这就像是将函数作为参数传递给方法?函数式编程与lambda表达式类似吗??
public interface Procedure {
void act();
}
public void executeCommand(Procedure proc){
proc.act();
}
//...
// pass a method using lambda expression:
executeCommand(()->{system.out.println("Hello world"});
//pass a method using traditional way (anonymous class)
executeCommand(new Procedure() {
public void act() {
system.out.println("Hello world");
}
});