Java:类中方法的排序

时间:2016-05-24 12:20:30

标签: java

我一直在四处寻找,看看是否有这样的约定,但我没有看到。我想看看整个社区做了什么。

当你在Java中有任何类时,你是否以任何特定的方式组织方法?是否有这样的约定。

例如,可能首先列出公共静态成员,然后是公共成员,然后是私有成员?也许是字母顺序?或许按照如何调用方法的顺序,即首先是初始化方法,接着是worker / helper方法,最后清理方法?

你做什么,为什么?有建议的方法吗?

3 个答案:

答案 0 :(得分:9)

Google's Java Style Guide中的相关部分说:

  

班级成员的顺序对学习能力有很大影响,但没有一个正确的方法可以做到这一点。不同的班级可能会以不同的方式订购会员。

     

重要的是每个类按照某个逻辑顺序对其成员进行排序,如果被问到,维护者可以解释它。例如,新方法不仅习惯性地添加到类的末尾,因为这将产生“按时间顺序添加日期”排序,这不是逻辑排序。

显然,这只是一种风格指南,不应该作为唯一的选择;其他人存在并可能更适合您/您的团队的情况。

答案 1 :(得分:2)

我用来划分公共和私人方法,通常,我把所有的getter和setter都放在了类的底层。这是因为getter和setter是不经常修改的方法所以我不想滚动所有页面来编辑其他通常更有用的方法。

顺便说一句,我认为没有正式的方法可以对你的方法进行分组,对你的变量也是如此。

所以我遵循的模式是:

public class MyClass{


   //variables
   private int number;
   private String name;

   ....

   //constructors
   public MyClass(){ ... }

   public MyClass(String name){ ... } 



   //public methods
   public methodOne(){ ... }
   public methodTwo(){ ... }

   //private methods
   private methodPrivOne(){ ... }
   private methodPrivTwo(){ ... }


   //getters and setters
   public void setName(String name){ ... }
   public String getName() { ... }
}

Herehere您可以找到两个对您的问题有用的答案

答案 2 :(得分:0)

为了定义,没有这样的惯例。但是首先使用静态方法然后使用非静态方法是一种很好的编程习惯。