Java 将代码组织到类中?

Java 将代码组织到类中?,java,class,coding-style,Java,Class,Coding Style,我为Minecraft流行的BukkitAPI编写插件 基本上,在这一点上,我的编码只是一个类,包含大量的方法和公共变量。如何将这些代码整齐地组织到类中 在编码方面,我将如何进行这项工作?我会导入每个类吗 我注意到当从另一个类访问变量时,我每次都要做:ClassName.variable,这有点拖拉。有办法解决这个问题吗?我不喜欢Java,但这个问题与成为Java n00b无关。这是关于对面向对象设计的新认识(如果组织得好,任何语言的大型程序都会遇到这个问题) 您通常会希望遵循以下步骤。简言之,

我为Minecraft流行的BukkitAPI编写插件

基本上,在这一点上,我的编码只是一个类,包含大量的方法和公共变量。如何将这些代码整齐地组织到类中

在编码方面,我将如何进行这项工作?我会导入每个类吗


我注意到当从另一个类访问变量时,我每次都要做:ClassName.variable,这有点拖拉。有办法解决这个问题吗?

我不喜欢Java,但这个问题与成为Java n00b无关。这是关于对面向对象设计的新认识(如果组织得好,任何语言的大型程序都会遇到这个问题)


您通常会希望遵循以下步骤。简言之,这意味着您的类应该比现在更小,并且每个类都应该负责处理一个足够小的任务,这样就很容易判断它是否正确。这说起来容易做起来难,但这就是为什么编程很难:组织您的想法很难。

将代码分解为类,每个类都包含相关数据和描述数据行为的方法。通常会有很多替代设计;这是经验的问题。尝试创建在您的领域中有意义的类,即对真实世界事物进行建模的类(这并不总是可行或合理的,只是经验法则)

在编码方面,我将如何进行这项工作

确定哪些方法实现了属于一起的功能。并将它们重构为类

我会导入每个类吗

您的IDE(eclipse或其他)将为您进行导入

我注意到当从另一个类访问变量时,我必须: 每次都使用ClassName.variable,这有点拖拉。有没有 怎么回事

首先编写类名而不是实例(这意味着静态) 在Java中,您可以选择执行静态导入

import static java.lang.Math.*;
之后,您可以更自然地使用符号,如:

double r = cos(PI);
而不是

double r = Math.cos(Math.PI);

但老实说,我一般不建议这样做。

程序到接口。不,真的。然后让每个接口说明它的功能——它应该做一件事——然后将接口组合成具体的类型(类)。只要将分离划分为一个文档化的接口,就可以很好地展示它是如何被划分的。我发誓子类型在Java中只作为“实现共享”的一种手段存在:(如果你不得不问这个问题,我想你还不明白OOP的意思:就像你在记事本中实现它一样。但更严重的是,Eclipse有添加新类的工具,我相信它有重构功能。恐怕你得自己弄清楚这些功能。基本思想是弄清楚每个类在哪里管理2+thi可以由单独的类进行合理管理的ngs,然后将它们分开。