public String getFullname(){
return firstName+ " "+ lastName;
}
public static void printUser(List<newClass> users){
for(newClass u: users)
System.out.println(u.getFullname());
}
getFullname 是非静态引用,但当我使用列表作为参数时,它如何工作。
当然,我知道如果我写这样的代码是行不通的
System.out.println(getFullname());
因为 printUser 是静态的而不是 getFullname。
最佳答案
在第一次调用中,您从对象实例调用方法:
u.getFullname()
。
在第二次调用中,当您尝试调用方法时
getFullname()
就像this.getFullname()
。
当调用静态方法时,就像newClass.printUser(users)
一样,并且没有创建对象实例。所以你不能这样做 this.getFullname()
,因为这个对象的实例没有创建。
Static methods vs Instance methods in Java
关于java - Java中的List如何实现静态对非静态的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60145946/