首页 > 解决方案 > 它如何使用 Java 中的 List 对非静态对象进行静态引用?

问题描述

    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。

标签: javajava-8referencestaticnon-static

解决方案


在第一次调用中,你从对象实例调用方法: u.getFullname()。在第二次通话中,当你尝试调用方法 getFullname() 时,就像this.getFullname()。当调用静态方法时,就像newClass.printUser(users)没有创建对象实例一样。所以你不能这样做this.getFullname(),因为这个对象实例没有被创建。 Java中的静态方法与实例方法


推荐阅读