/* Standalone java class file AbcDef.java */
public class AbcDef {
public void AbcDef(Abc[] abc) {
something ???;
}
}
(我的问题1 。我不知道如何处理上面的初始化)
/* Standalone java class file Abc.java */
public class Abc {
private String name;
private int age;
// Constructor...
// Getters...
public void setAbc(String nName, int nAge) {
name = nName;
age = nAge;
}
}
/* Another Test class file TestAbcDef.java */
public class TestAbcDef {
AbcDef[] tAbcDef = new AbcDef[];
/* e.g. i need to assign 10 records into tAbcDef[x] */
/* tAbcDef[0] = (name[1], age[1]),(name[2], age[2])....
(我的问题2 。我不明白如何初始化并为数组赋值) 任何专业知识都可以指出我完成这一点。谢谢!
答案 0 :(得分:1)
问题1: 这取决于你想在构造函数中做什么。使用构造函数,您将在使用之前准备对象。知道你可以:
将它空白(没有任何问题,它会起作用,但我想你想用你的abc参数做些什么。
使用您的参数制作内容。您可以初始化一个类变量,例如:
public class AbcDef {
Abc[] arrayABC
public void AbcDef(Abc[] abc){
arrayABC=abc; // initialize class variable arrayABC with abc parameter.
}
}
您可以阅读有关构造函数的here。
问题2
声明数组时,必须考虑固定的数组长度,因此应在创建时设置它。这可以这样做:
AbcDef[] tAbcDef = new AbcDef[9];
所以你说我声明的tabcdef数组是一个长度等于9的AbcDef数组。
创建后,您可以通过
填写它tAbcDef[0]= whatever;
...
希望有所帮助
答案 1 :(得分:0)
public class AbcDef {
private Abc[] abc;
public AbcDef(Abc... abc) {
this.abc = abc;
}
}
public class Abc {
private String name;
private int age;
public Abc(String nName, int nAge) {
name = nName;
age = nAge;
}
}
AbcDef tAbcDef = new AbcDef( new Abc( "joe", 10 ), new Abc( "Bill", 20) );
或者,如果你需要一个AbcDef数组:
AbcDef[] vAbcDef = new AbcDef[3];
vAbcDef[0] = tAbcDef;
vAbcDef[1] = new AbcDef( new Abc( "Sue", 30 ), new Abc( "Liz", 40) );
vAbcDef[2] = new Abc( "PEte", 50 ) );
定义数组长度的另一种方法是提供所有元素:
AbcDef[] vAbcDef = new AbcDef[]{ tAbcDef,
new AbcDef( new Abc( "Sue", 30 ), new Abc( "Liz", 40)),
new AbcDef( new Abc( "PEte", 50 ) ) };