java - Java中的List如何实现静态对非静态的引用?

标签 java java-8 reference static non-static

    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/

相关文章:

java - 从 Facelets 1.x 迁移到 Facelets 2.0

java - LinkedHashSet javadoc 中的错误?

java.time YearMonth 作为实体内的类型

编程语言之间相似函数的引用

java - 如何通过共享对象正确使用信号?

Java客户端无法连接Zookeeper和HBase

java - 如何从 HashMap<String,List<E>> 获取 List<E>

java - 使用 Java 8 DateTimeFormatter 解析 ZonedDateTime

c++ - 如果另一个指针指向它的引用,为什么 const int 不会被编译器(通过符号表)优化?

perl - 如何在 Perl 中使用散列作为子例程的参数?