一个java类,他有一个属性是ArrayList集合类型的,那么private ArrayList array=new ArrayList();

和在这个类的构造函数中写{array=new ArrayList();}有区别吗?

在使用上没有区别..

只是写在构造函数外的会先一步执行而已..除此之外没有不同

下面是一段测试代码..

class CertainClass {
static int i = 0;

CertainClass(String str) {
System.err.println(i + ": CertainClass :" + str);
i++;
}
}

public class InitializeTest {
CertainClass cc1;
CertainClass cc2 = new CertainClass("out of the constructer");

InitializeTest() {
cc1 = new CertainClass("in the constructer");
System.err.println("InitializeTest");
}

public static void main(String[] args) {
new InitializeTest();
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-08-19
这就是私有成员或者方法,访问权限的问题了。。
楼主多看看这方面的资料吧public private default abstract的访问权限和方法
第2个回答  2009-08-19
没有区别,都是对其就行初期化
第3个回答  2009-08-19
没什么区别的。直接初始化和在构造方法中初始化差不多。
第4个回答  2009-08-19
没有气别

...举个例子: private ArrayList list=new ArrayList; list.add(1...
private ArrayList list =(ArrayList) Arrays.asList( new int {1, 2,3} );这样来一步实现初始化,注意Arrays这个类也在java.util包下。

编写一个+Java+程序,要求新建一个+ArraylList+集合,并且向集合中添加字...
java复制代码import java.util.ArrayList;public class ArrayListExample { public static void main(String[] args) { \/\/ 创建一个ArrayList集合 ArrayList<String> arrayList = new ArrayList<>(); \/\/ 向集合中添加字符串 arrayList.add("字符串1");arrayList.add("字符串2");arrayList.ad...

一道简单的有关数组的Java程序题,请高手前辈们帮忙查看一下代码,谢谢...
ArrayList,LinkedList,Vestor这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下: 一、同步性 ArrayList,LinkedList是不同步的,而Vestor是的。所以如果要求线程安全的话,可以使用ArrayList或LinkedList,可以节省为同步而耗费开销。但在多线程的情况下,有时候就不得不使用Vector了。当然,也可以通过一些...

...arr=new ArrayList<Integer>”这是java中的一行代码,可是我是刚学...
1.ArrayList arr=new ArrayList();没有<>尖括号你明白吧?创建个对象.2.<>尖括号,是jdk新出的功能(其实也出老么久了),<>里面的是java里的泛型,泛型就是基本类型(int,char,float等等)在java中的封装的那几个(Integer,Character等等),作用就是确定到底存放什么类型 3.问个问题,请你告诉我你买的...

ArrayList list = new ArrayList() 和List<String> list = new ArrayL...
而ArrayList list=new ArrayList();创建一对象则保留了ArrayList的所有属性。这是一个例子:import java.util.*;public class TestList{ public static void main(String[] args){ List list = new ArrayList();ArrayList arrayList = new ArrayList();list.trimToSize(); \/\/错误,没有该方法。arrayLi...

怎么获取某一个Java类的实例个数
首先弄一个类Constant。然后在这个类里面实例化一个全局的静态的ArrayList<Integer> list = new ArrayList<>();。然后在那个类的构造函数里面Constant.list.add(1).最后在你要观察值的地方看这个list的长度。应该就可以了

List list = new ArrayList()和ArrayList list = new ArrayList()的区别...
第一种定义,是很好的面向接口编程的习惯。比如你有这么一个方法供别人调用:public List getXXXList(){ List list = new ArrayList();...return list;} 现在是new ArrayList(),如果万一以后要改成new LinkedList()的话,你这个方法的返回类型就不需要改了,并且调用这个方法的所有类都不需要修改,...

JAVA中的一个小问题
最常见的例子是集合类型(Container types),Collection的类树中任意一个即是。下面是那种典型用法: List myIntList = new LinkedList();\/\/ 1 myIntList.add(new Integer(0));\/\/ 2 Integer x = (Integer) myIntList.iterator().next();\/\/ 3 第3行的类型转换有些烦人。通常情况下,程序员知道一个特定的...

java中 List mylist =new ArrayList 怎么理解
List是java.util包中的一个定义集合对象的接口,ArrayList是实现List接口的实现类。单就这个语法而言,如使用List mylist =new ArrayList();定义对象时,比使用ArrayList mylist =new ArrayList();易于扩展;如当你在使用中发现ArrayList类型的对象不能满足你的使用要求时,你可以改成其他的实现List接口的...

listlist=newarraylist();和arraylistlist=newarraylist();的区别
2. 第二行代码 `ArrayList = new ArrayList<>;` 在Java中是语法错误的。这行代码尝试声明一个名为 `ArrayList` 的类型,它意图创建一个包含 `listlist` 类型元素的ArrayList。但是,在Java中,你不能这样使用尚未声明的类型作为泛型参数。如果 `listlist` 是一个类或接口的名称,那么这样的声明才有...

相似回答