对不起,我知道这个答案是显而易见的,但我想我只是缓慢。 谁能给我一个实例变量,构造清晰的定义?
实例变量:
您的类将需要数命名的实例变量,它是一个一维数组。 阵列的大小将由构造来确定。 您可能会或可能不会,会发现它有用有其他的实例变量。
构造函数:
你会写两个构造函数。 一个构造将是一个没有参数的默认构造函数。 这将创建包含10项INT的和将设定数组的每个元素是42的阵列。
第二个构造将一个参数,这将是整数的数组。 此构造方法将产生相同的尺寸参数的实例数组,然后从参数到实例阵列复制的整数。
我不知道如何甚至开始上。
实例成员仅仅是属于一类对象的变量,只要它不是一个静态变量! 静态变量,严格来说属于类不是对象,构造函数只是调用创建和初始化对象的特殊方法。 这也是你的类的名称。
所以,你想要的是
class WhateverYourClassIs
{
int[] members;
public WhateverYourClassIs()//constructor.
{
members = new int[10] ;
}
public WhateverYourClassIs(int n) //overloaded constructor.
{
members = new int[n] ;
}
}
所以你可以在上面的例子中看到,类似的方法构造,可以被重载。 通过重载这意味着签名是不同的。 一个构造函数没有参数,另一个只有一个参数是一个int。
构造函数是产生这个类的实例的类的一部分。 它命名为类同样的事情,并没有返回类型。 例如:
public class Foo{
public Foo(){
System.out.println("Hi from the constructor!!");
}
}
实例字段是一个局部变量的类的每个实例。 您可以让公众,保护或私有实例字段。 私有实例字段从外界“隐藏”,只有该实例本身可以访问它。 一公共使用的访问.
运营商。 例如:
公共类Foo {公众诠释X; 私人诠释Ÿ; }
Foo foo = new Foo(); //Thats a call to the constructor Foo()
foo.x = 1;
foo.y; //Error can't access private variables from outside the class
对于你的情况,你会想
class Name{
int[] numbers;
public Name(){
numbers = new int[10];
}
public Name(int n){
numbers = new int[n];
}
}
在这里,你重载构造(就像对于方法)和创建一个数组,这是一个列表,在这种情况下, int
的固定长度的第
public class MyClass{
int numbers[];
MyClass(){
numbers = new int[10];
for (int i = 0; i < numbers.length; i++) {
numbers[i] = 42;
}
}
MyClass(int[] array){
numbers = new int[array.length];
for (int i = 0; i < array.length; i++) {
numbers[i] = array[i];
}
}
}