您在何处将数组放在代码中?

时间:2017-03-18 01:26:38

标签: java arrays

对于大多数人来说,这个问题可能相当简单和常规,但我现在只做了几个星期的Java而且我们只是在课堂上学习数组,而且在展示具体的例子时我通常学得最好。

我理解他们的概念以及他们做了什么,我只是不确定在我的代码中放置一个。我将把我的一个类放在这个下面,以便对我的问题进行可视化。

忽略大部分内容,因为它有一些其他类可用于我正在做的事情。我的问题是,你是否将声明放在我将“--X--”与实例变量或更远的地方放在一起的位置?

我希望我所要求的是有道理的,如果你需要,我可以尝试更具体。

public class library
{
   private painting art;
   private String name;
   --X--
   public library(String libName, String pTitle, int pYear, String pAuthor, String pStyle)
   {
      art = new painting(pTitle, pYear, pAuthor, pStyle);
      name = libName;
   }
   public void display()
   {
      System.out.println("Title: " +art.get_title());
      System.out.println("Author: " +art.get_author());
      System.out.println("Year: " +art.get_year());
      System.out.println("Style of painitng: " +art.get_style());
      System.out.println("Library: " +name);
   }
   public void setArt(painting a)
   {
      art = a;
   }
}

3 个答案:

答案 0 :(得分:3)

班级的所有领域通常在一个区块内聚集在一起;就在你班上的开头;无论他们有什么具体类型。

但那是纯粹的惯例;从技术上讲,你可以把它们放在一起。

但在谈论约定时:类名始终是UpperCase。

所以真正的答案在这里:java的编码风格指南 - 只需阅读并坚持下去。

答案 1 :(得分:1)

我按此优先顺序排序:

  1. 首先是static关键字;
  2. 接下来是访问级别,
  3. 按品尝:
    1. 如果存在相同静态和访问级别的任何标识符,则按初始化的详细程度进行排序,如果它们彼此没有任何关系。
    2. 如果标识符与彼此相关,请将它们组合在一起(但将较长的标记放在较短标记之后。)
  4. 因此,在每个组中,较长的初始化最后发生。这样,他们就不会破坏分组。

    如果您最终拥有大量相关标识符,则可能意味着您可以创建单独的类。

    public class OrderedFields {
        // public static first
        public static final String CONSTANT = "foo";
    
        // private static next
        private static final String PRIVATE = "bar";
    
        // another private static but it is longer so goes last
        private static final ImmutableList<String> NAMES = ImmutableList.of(
            "Tony P",
            "Susie Q"
            "Rodrigo"
        );
    
        // non-static public fields (rarely used)
    
        // non-static private fields
        private numberOfPeopleWhoResponded;
    
        // constructors are first method group
        public OrderedFields() {
            numberOfPeopleWhoResponded = addUpPeopleByNames(NAMES);
        }
    
        // public method
        public getNumberOfPeopleWhoResponded() {
            return numberOfPeopleWhoResponded;
        }
    
        // private method
        private int addUpPeopleByNames(final List<String> names) {
            int number = 0;
            names.forEach(name -> number++);
    
            return number;
        }
    
        // Inner classes and interfaces
        public static class Builder {
            ...
        }
    }
    

    在上面,ImmutableList是一个奇特的数组版本。

    我认为数组最好用作常量类变量(例如目标private static final,除非你有充分的理由不使用它。)

    如果您要更改数组的内容,最好使用ArrayList

答案 2 :(得分:0)

我会重申/扩展GhostCat的答案如下:

  • 您的目标应该是最大限度地提高代码的可读性和可维护性。适用于可能需要阅读或维护代码的所有人/任何人。

  • 为了最大限度地提高其他人的可读性,最佳策略是确认已建立的Java编码标准或样式指南。有不同的标准/指南,但(幸运的是)它们几乎都是一致的。

  • 如果标准没有说什么,那么就用自己的判断来判断代码的可读性和可维护性。

  • 即使是标准也不是一直都是正确的。他们需要简化一些事情,以便读者能够理解它们

最终,它是你的电话,但是如果你的代码偏离非常严重(例如混乱的缩进,错误的标识符等),人们会告诉你它。

参考