java - 它如何使用 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。
解决方案
在第一次调用中,你从对象实例调用方法:
u.getFullname()
。在第二次通话中,当你尝试调用方法
getFullname()
时,就像this.getFullname()
。当调用静态方法时,就像newClass.printUser(users)
没有创建对象实例一样。所以你不能这样做this.getFullname()
,因为这个对象实例没有被创建。
Java中的静态方法与实例方法
推荐阅读
- amazon-web-services - 如何在预期时间窗口后阻止事件和超时的 lambda
- java - Java Hotspot Serviceability Agent SystemDictionary.ClassVisitor 自 JDK11 起不可用
- php - 在正则表达式中使减号可选(AltoRouter 1.2.0)
- select - 从 MariaDB 中的两个表中提取随机值以生成虚假数据
- flutter - 为什么我在尝试在 dart 上运行时会出错?
- node.js - 如何在 Express GraphQL 中的 2 个解析器函数之间共享数据?
- c++ - 使用合并排序对链表进行排序时得到错误答案
- c++ - 如何推导出模板多个可变参数?
- python - 根据给定列表中的值替换列中的值
- sequelize.js - 在 Seqeualize 中仅查找具有关联子项的结果