在Java中找不到符号,GreenFoot
在我开始之前,我想提一下,我是编程新手,我真的很糟糕。如果你能想出任何可能导致我的问题的原因,它可能值得检查 我正在制作一个游戏,用户控制一条鲨鱼,必须四处走动,吃鱼和躲避垃圾。用户每次吃鱼都会得到一分。我遇到了一个问题,程序说它找不到方法,我似乎也弄不明白 这就是错误所在。它属于食物类(鱼,鲨鱼吃什么): 这就是所讨论的方法,它属于MyWorld类:在Java中找不到符号,GreenFoot,java,methods,greenfoot,Java,Methods,Greenfoot,在我开始之前,我想提一下,我是编程新手,我真的很糟糕。如果你能想出任何可能导致我的问题的原因,它可能值得检查 我正在制作一个游戏,用户控制一条鲨鱼,必须四处走动,吃鱼和躲避垃圾。用户每次吃鱼都会得到一分。我遇到了一个问题,程序说它找不到方法,我似乎也弄不明白 这就是错误所在。它属于食物类(鱼,鲨鱼吃什么): 这就是所讨论的方法,它属于MyWorld类: public Counter getCounter() { return counter; } 我可以回答任何问题,并显示更多的行如果你要
public Counter getCounter()
{
return counter;
}
我可以回答任何问题,并显示更多的行如果你要求。
我知道有时和陌生人打交道会让人沮丧,所以我先表示歉意。
任何帮助都将是惊人的,谢谢阅读 我相信如果你改变密码 从 到
这应该可以解决问题。我不得不发布一个答案,因为我没有足够的代表发表评论。让我知道这是否有效。如果您有一个
World
基类和一个扩展World
的MyWorld
类,并且getCounter()
方法在派生的MyWorld
类中,那么getCounter()
将不可见将MyWorld
type对象强制转换为World
type对象后getCounter()
仅“在”MyWorld
type对象中”存在。(反正也不需要向那个方向强制转换。
MyWorld
的实例也是World
的实例,不需要强制转换。World
的实例也可能是MyWorld
的实例,强制转换到MyWorld
是调用MyWorld
中定义的方法所必需的)
而且,在Java中,标准的做法是以小写字母开始变量名,以大写字母开始类名。因此,代码的读者通常希望MyWorld
是类名(对象类型名),MyWorld
是变量名(对象实例名)
我想,既然你是从视频中复制代码,你就应该像他们那样做,这样你就可以更容易地跟随视频。但是如果我编写这个代码,我想在Shark类上放一个eatFood()方法,这样我就可以编写
if (foodHit != null) {
aShark.eatFood()
}
通过这种方式,世界投射和计数器更新代码被封装在Shark类中,而不是分散在检查食物命中率的任何地方。您使用的是Java,而不是JavaScript,顺便说一句:)因为您是编程新手,所以您可能希望食物类能够全局引用Shark的世界。你在这里做什么:
World MyWorld=(World)MyWorld代码>我的世界是什么类型的,在你们把它投给世界之前?我在看一个教学视频,他们在那里键入了那个。我不明白那一行想做什么。不幸的是,我得到了同样的错误,好像方法不在两个参与者中。如果我把整个绿足项目都寄给你会有帮助吗?是的,那会让我更容易帮助你。
World MyWorld = (World)MyWorld;
Counter counter = World.getCounter();
World MyWorld = (World)MyWorld;
Counter counter = MyWorld.getCounter();
if (foodHit != null) {
aShark.eatFood()
}