【问题标题】:How can it work static reference to non static with List in Java?它如何使用 Java 中的 List 对非静态对象进行静态引用?
【发布时间】:2020-02-10 07:38:32
【问题描述】:
    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 上调用它,它就无法确定要使用的方法。

标签: java java-8 reference static non-static


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    相关资源
    最近更新 更多