Java如何用abc参数初始化构造函数
我的问题1。我不知道如何处理以上问题Java如何用abc参数初始化构造函数,java,arrays,constructor,Java,Arrays,Constructor,我的问题1。我不知道如何处理以上问题 /* Standalone java class file AbcDef.java */ public class AbcDef { public void AbcDef(Abc[] abc) { something ???; } } 我的问题2。我不知道如何初始化数组并为其赋值 任何专业人士都可以指点我完成这项工作。谢谢 /* Standalone java class file A
/* Standalone java class file AbcDef.java */
public class AbcDef {
public void AbcDef(Abc[] abc) {
something ???;
}
}
我的问题2。我不知道如何初始化数组并为其赋值
任何专业人士都可以指点我完成这项工作。谢谢
/* 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])....
或者,如果您需要AbcDef数组:
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[] 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 ) );
问题1:
这取决于您希望在构造函数中执行的操作。在使用构造函数之前,您将准备对象。知道你可以:
空白的生活没有什么问题,它会工作,但我想你想做一些与你的abc参数
用你的参数做点什么。您可以初始化一个类变量,例如:
AbcDef[] vAbcDef = new AbcDef[]{ tAbcDef,
new AbcDef( new Abc( "Sue", 30 ), new Abc( "Liz", 40)),
new AbcDef( new Abc( "PEte", 50 ) ) };
}
您可以阅读有关构造函数的内容
问题2
当你声明一个数组时,你必须考虑数组长度是固定的,所以你应该在创建它时设置它。这可以通过以下方式完成:
public class AbcDef {
Abc[] arrayABC
public void AbcDef(Abc[] abc){
arrayABC=abc; // initialize class variable arrayABC with abc parameter.
}
你是说我声明的tabcdef数组是一个长度等于9的AbcDef数组
一旦你创建了它,你就可以通过
AbcDef[] tAbcDef = new AbcDef[9];
希望对您有所帮助您的代码甚至可以编译吗?您使用类的名称而不是构造函数创建了一个方法。删除空。正在尝试定义构造函数或方法..?Q1要定义并初始化构造函数。感谢阿披实。注意,我总是混淆构造函数和方法。谢谢Martijn。
tAbcDef[0]= whatever;
...