dem*_*ro1 3 java constructor arraylist
我正在研究一个项目,并且我被教导在构造函数中实例化变量.我在使用ArrayList思想时遇到了一些麻烦.您能否提出一些最佳实践,我是否需要使用实例变量定义ArrayList,或者我可以在构造函数中执行此操作.谢谢你的建议!我有一个我正在谈论的内容的例子:
//imports
import java.util.*;
import java.lang.*;
public class ArrayListConstructorDemo
{
//instance variables/attributes
String string;
List<String> list;// for example does this line need to say List<String> list = new ArrayList<String>();
//constructors
public ArrayListConstructorDemo()
{
String string = "null";
List<String> list = new ArrayList<String>();//is there anyway I can do this here instead of 6 lines up?
}//end default constructor
public ArrayListConstructorDemo(String string,List<String> list)
{
this.string = string;
this.list = list;
}//end generic constructor
//observers/getters/accessors
public String getString(){return string;}//end method getString()
public List<String> getList(){return list;}//end method getList()
//transformers/setters/mutators
public void setTable(String string){this.string = string;}
public void setValues(String list)
{
// for(String s : test)
// {
list.add(this.list);
// }
}
public String toString()
{
return "this is a generic toString method for the class ArrayListConstructorDemo";
}//end toString
public static void main(String[] args)
{
ArrayListConstructorDemo alcd = new ArrayListConstructorDemo();
System.out.println(alcd.list.size());
//test Lists in general
List<String> bleh = new ArrayList<String>();
bleh.add("b1");
System.out.println(bleh.get(0));
}//end method main()
}//end class ArrayListConstructorDemo
Run Code Online (Sandbox Code Playgroud)
如果您只想在构造函数中声明它,您可以使用以下代码:
ArrayList<String> name = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
否则,您可以将其声明为字段,然后在构造函数中对其进行初始化。
private ArrayList<String> name;
Run Code Online (Sandbox Code Playgroud)
然后在构造函数中:
name = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
使其成为一个字段将很有用,因为您将能够创建访问器/修改器方法,以便从不同的类中检索和使用列表,而不必将其声明为公共(这很少是一件好事)。
更改
List<String> list = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
至
list = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42687 次 |
| 最近记录: |