java - java,非静态方法不能从静态引用,但我已经有实例?
问题描述
第一个问题,对不起,如果这是一个糟糕的问题,我是 OOP 的新手。我在方法中使用了两个实例,一个作为在创建实例的另一个类中调用的参数传递,一个在方法中创建。然后我尝试从一个使用这些实例的 seperet 类中调用一个方法,但是得到一个错误,说它不能从静态位置引用?
非常感谢任何帮助
public void displayRoom(character c){
if(ItemsInRoom.size() > 0){
for(int i = 0; i < ItemsInRoom.size(); i++){
System.out.println(ItemsInRoom.get(i).getName());
}
}
if(enemies.size() > 0){
for(int i = 0; i < enemies.size(); i++){
System.out.println(enemies.get(i).getName());
Random rand = new Random();
int rand_3 = rand.nextInt(10);
if(rand_3 > 5){
character temp = enemies.get(0);
character.attack(c, temp);//ERROR IS HERE
我试图调用的方法在另一个类中:
public void attack(character c, character e){
System.out.println(e.getName() + "has attacked you!");
c.setHealth(-3);
System.out.println("Health: " + c.getHealth());
解决方案
推荐阅读
- node.js - 异步和等待函数 Node.js
- html - 在引导程序中更改网格的背景颜色,包括它没有到达的边
- swift - 如何在 SwiftUI 中包含和调用 BSImagePicker
- r-markdown - Bookdown / Knitr / Kable 完美输出到 HTML 但没有表格到 PDF
- javascript - 如何将基于 JWT 令牌的链接作为重置密码和电子邮件验证功能的一次性使用链接
- deployment - 默认端口(8081)更改为 Windows 10 中 jfrog-artifactory-oss-7.3.2 中的不同端口
- python - 网站上的日期排序不正确?
- c - SDL2 相当于 SDLK_FIRST 和 SDLK_LAST?
- git - 有没有办法以编程方式确定存储库是否遵循 gitflow?
- gdb - 如何调试使用 guix 安装的 C 程序?