如何使用Java中的List静态引用非静态对象?

问题描述 投票:0回答:1
    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。

java java-8 reference static non-static
1个回答
0
投票

[在第一次调用中,u从对象实例中调用方法:u.getFullname()。在第二次调用中,当您尝试调用方法时getFullname()就像this.getFullname()。调用静态方法时,就像newClass.printUser(users),并且没有创建对象实例。因此,您无法执行this.getFullname(),因为未创建此对象实例。Static methods vs Instance methods in Java

© www.soinside.com 2019 - 2024. All rights reserved.