Java 如何将代码移动到其他类?

Java 如何将代码移动到其他类?,java,android,Java,Android,在本教程中,作者将所有代码放在一个类文件中。导致雨水和水桶在其中 我试着把代码放到另一个类中,但是我的代码中会有重复的方法,从逻辑上讲这是不正确的。例如,我不能在一个游戏中有两种创建方法 如何从中提取rain或bucket并将其放入另一个类中?您可以将常用函数抽象为or,然后让rain和bucket都从该类继承 因此,对于您的特定示例,遍历这两个类,找到所有公共函数并将它们抽象为一个超类 非常简单:您可以从OOP风格的编码中获益: 只需使用一个超级类RainBucket,其中包含所有方法,每个方

在本教程中,作者将所有代码放在一个类文件中。导致雨水和水桶在其中

我试着把代码放到另一个类中,但是我的代码中会有重复的方法,从逻辑上讲这是不正确的。例如,我不能在一个游戏中有两种创建方法


如何从中提取rain或bucket并将其放入另一个类中?

您可以将常用函数抽象为or,然后让rain和bucket都从该类继承


因此,对于您的特定示例,遍历这两个类,找到所有公共函数并将它们抽象为一个超类

非常简单:您可以从OOP风格的编码中获益: 只需使用一个超级类RainBucket,其中包含所有方法,每个方法的代码最少。 从这个超类中扩展另外两个类,并在其中重写您的类想要使用的方法,这样您将遵守以下OOP规则:

继承性:当您从超类派生其他两个对象时:

类Bucket扩展了RainBucket{

类雨扩展雨桶{

多态性:可以从同一个超类声明两个对象 但是通过将两个不同的派生类赋值为 这:

雨水桶=新水桶和

雨桶雨=新雨


你的问题不是很清楚。你能粘贴你想移动到另一个类的代码吗?你应该始终通过IDEs中提供的重构工具移动你的代码。它是一个类中的所有一个,向下滚动到底部,你会看到我的意思。谈论问题中没有的代码是违反规范的。你能提供吗有人这样做的示例或链接?>@BluFire帖子中的链接描述了这一点。请看抽象类链接。它实现了一个名为GraphicObject的抽象类,带有一些函数。然后这些函数被循环继承,循环对其进行了扩展。抱歉,出于某种原因,我没有注意到链接。我认为我的继承是正确的,但是我不太理解多态性。我创建了,但我不知道放在哪里,所以我把它放在顶部。然后我在create和render方法中都放了bucket和rain,但是出现了一个错误,说该方法未定义。那么问题出在哪里呢?RainBucket bucket=new bucket;RainBucket rain=new rain;@Override public void create{Rain;Bucket;}@Override public void render{Rain;Bucket;}它在主类下你做错了:首先创建超类,然后创建其他派生类。然后创建另一个包含主方法的类。在这个主方法中,你必须编写上面的代码。请接受我的答案;-我创建了超类RainBucket,然后创建了更小的类Rain and Bucket。我的class,game,有main方法的是main类。它看起来和教程一样,但是有其他添加的类。当它起作用时,我会接受你的答案:它仍然不起作用…错误:方法…对于类型游戏是未定义的