public String getFullname(){
return firstName+ " "+ lastName;
}
public static void printUser(List<newClass> users){
for(newClass u: users)
System.out.println(u.getFullname());
}
getFullname是非静态引用,但是当我使用List作为参数时,它如何工作呢。
当然,我知道如果我像这样编写这段代码,它将无法正常工作
System.out.println(getFullname());
因为printUser是静态的而不是getFullname。
最佳答案
在第一次调用中,u从对象实例调用方法: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/