gpt4 book ai didi

java - 同一包内的访问问题?

转载 作者:行者123 更新时间:2023-12-02 11:44:28 25 4
gpt4 key购买 nike

http://text-share.com/view/044ca96e

所以我最近开始学习Java(没有以前的编程经验),现在我已经清楚地了解了一些非常基本的概念。或者也许不是这样,因为我刚刚开始我的第一个“现实生活计划”,我似乎迷失了访问级别或类似的东西。

http://text-share.com/view/044ca96e

但要问一些具体的事情 -

(我在同一个包中有 Main.java、Creature.java、Player.java、Monster.java 和 Room.java。)

1,我想我应该使用 Player/Monster 类本身的构造函数来创建 Player/Monster 对象,对吗?问题是,当我这样做时,我无权访问 main 中的这些对象或其方法?

2,我也无法使用player1.getHp或Monster类中Player类的任何方法。

我怀疑我的类(class)存在一些结构性问题,但无法弄清楚它是什么。这可能是 2018 年迄今为止最简单的问题,但如果有任何帮助,我将不胜感激。 :)

提前致谢。

最佳答案

您必须了解对象的范围。仅仅因为您在 Main 类中创建了 Player 和 Room,并不意味着默认情况下这些类的实例可以相互访问。例如,在 Room 中,您尝试使用player1,但 Room 中没有任何内容接受 Player 参数。 您必须在 Room 内创建一个 Player 实例或将其传入。因此,构造函数或 setter 必须在 Room 类中设置播放器才能使其正常工作。

所以,在 Main 中,你会得到类似的东西

Player player = new Player();
Room room = new Room(player);

在 Room 中,您将有一个构造函数将设置的本地 Player 变量。

关于java - 同一包内的访问问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48309006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com