Java 您在代码中的具体位置是数组?

Java 您在代码中的具体位置是数组?,java,arrays,Java,Arrays,这个问题对你们大多数人来说可能相当简单和常规,但我现在只学了几周Java,我们只在课堂上讨论了数组,通常在展示具体示例时我学得最好 我理解他们的概念和他们做什么,我只是不确定在我的代码中放在哪里。我将把我的一个类放在下面,让我的问题形象化 忽略它的大部分,因为它有一些其他的类,我正在做的工作。我的问题是,你是把它声明在我放在带实例变量的'--X--'的地方,还是更下面的地方 我希望我的要求是有道理的,如果你需要的话,我可以试着更具体一些 public class library { pri

这个问题对你们大多数人来说可能相当简单和常规,但我现在只学了几周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;
   }
}

类的所有字段通常放在一个块中;就在你开始上课的时候;不管他们有什么特别的类型

但这纯粹是惯例;从技术上讲,你可以把它们放得到处都是

但在谈到约定时:类名总是大写


所以这里真正的答案是:这里有java的编码风格指南——只需阅读并坚持

类中的所有字段通常放在一个块中;就在你开始上课的时候;不管他们有什么特别的类型

但这纯粹是惯例;从技术上讲,你可以把它们放得到处都是

但在谈到约定时:类名总是大写


所以这里真正的答案是:这里有java的编码风格指南——只需阅读并坚持

我按此优先级排序:

  • 首先,静态关键字
  • 其次是访问级别
  • 根据口味:
  • 如果有任何具有相同静态性和访问级别的标识符,如果它们之间没有任何关系,则按初始化的详细程度排序
  • 如果标识符相互关联,则将其分组(但将较长的标识符放在较短的标识符之后)
  • 因此,在每个组中,初始化时间越长,最后发生的时间越长。这样,他们就不会像以前那样把分组分开

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

    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 {
            ...
        }
    }
    
    公共类OrderedFields{
    //公共静态优先
    公共静态最终字符串常量=“foo”;
    //私有静态下一个
    private静态最终字符串private=“bar”;
    //另一个私人静态,但它更长,所以最后去
    私有静态最终ImmutableList名称=ImmutableList.of(
    “托尼·P”,
    “苏西Q”
    “罗德里戈”
    );
    //非静态公共字段(很少使用)
    //非静态私有字段
    私人回应人数;
    //构造函数是第一个方法组
    公共OrderedFields(){
    NumberOfPeopleWhorResponded=addUpPeopleByNames(名称);
    }
    //公共方法
    public GetNumberOfPeopleWhorResponsed(){
    返回响应的人数;
    }
    //私有方法
    私有int addUpPeopleByNames(最终列表名称){
    整数=0;
    name.forEach(name->number++);
    返回号码;
    }
    //内部类和接口
    公共静态类生成器{
    ...
    }
    }
    
    在上面的例子中,
    ImmutableList
    是数组的一个奇特版本

    在我看来,数组最好用作常量类变量(例如,首先使用target
    private static final
    ,除非您有充分的理由不使用它)


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

    我按此优先级排序:

  • 首先,静态关键字
  • 其次是访问级别
  • 根据口味:
  • 如果有任何具有相同静态性和访问级别的标识符,如果它们之间没有任何关系,则按初始化的详细程度排序
  • 如果标识符相互关联,则将其分组(但将较长的标识符放在较短的标识符之后)
  • 因此,在每个组中,初始化时间越长,最后发生的时间越长。这样,他们就不会像以前那样把分组分开

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

    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 {
            ...
        }
    }
    
    公共类OrderedFields{
    //公共静态优先
    公共静态最终字符串常量=“foo”;
    //私有静态下一个
    private静态最终字符串private=“bar”;
    //另一个私人静态,但它更长,所以最后去
    私有静态最终ImmutableList名称=ImmutableList.of(
    “托尼·P”,
    “苏西Q”
    “罗德里戈”
    );
    //非静态公共字段(很少使用)
    //非静态私有字段
    私人回应人数;
    //构造函数是第一个方法组
    公共OrderedFields(){
    NumberOfPeopleWhorResponded=addUpPeopleByNames(名称);
    }
    //公共方法
    public GetNumberOfPeopleWhorResponsed(){
    返回响应的人数;
    }
    //私有方法
    私有int addUpPeopleByNames(最终列表名称){
    整数=0;
    name.forEach(name->number++);
    返回号码;
    }
    //内部类和接口
    公共静态类生成器{
    ...
    }
    }
    
    在上面的例子中,
    ImmutableList
    是数组的一个奇特版本

    在我看来,数组最好用作常量类变量(例如,首先使用target
    private static final
    ,除非您有充分的理由不使用它)


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

    我将重申/扩展GhostCat的回答,如下所示:

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

    • 为了最大限度地提高其他人的可读性,最好的策略是确认已建立的J