java中抽象类不能被实例化怎么才能调用get和set方法?子类中如何使用set方法来为数组赋值?

0经验初学者的作业
目前的想法是在一个作为基础模版的抽象类中,对一个private属性的数组赋值,也就是需要get和set方法。
然后在子类中随机生成6位数的ID号来组成数组。
//下面是模版部分
public abstract class User {
private int ID[] = new int[6];
public int[] getID() {
return ID;
}

public void setID(int[] iD) {
ID = iD;
}
}
//下面是子类
import java.util.Random;

public class Random_ID extends User {
public void setID() {
Random_ID r_id=new User;
Random r = new Random(); //想试试多态向下转型实例化这个子类,但明显不行.
for (int i = 0; i <= 6; i++) {
int j = r.nextInt(9);
r_id.setID(int[i] iD) = j; //大概意思就是想对父类中setID中数组赋值,但有结构错误,因为不会.
}
}
}

目前子类有许多错误,一个是没办法实例化父类,一个是不知道怎么对使用set方法的数组赋值。求大神帮忙。
还有一个就是再多加一个类继承Random_ID类,以此实例化Random_ID类来使用get和set方法。不知道是不是可行的。有没有更简洁的方法【优化】。
现在不考虑别的安全性问题,因为这只是为了使用这些方法才做的。。。所以,不用吐槽写的多么智障。

//下面是模版部分
abstract class User
{
private int ID[] = new int[6];
public int[] getID()
{
return ID;
}
public void setID(int[] iD)
{
ID = iD;
}
}

//下面是子类
 public class Random_ID extends User
{
public static void main(String[] args) 
{
//创建子类实例!
User r=new Random_ID();

//向下转型!
Random_ID r1=(Random_ID)r;

//调用方法:创建数组!
r1.setID();

//查看已经生成好的数组元素!
int[] arr=r1.getID();
System.out.println("\n查看随机生成的6位数:");
for (int a:arr )
{
System.out.print(a);
}
System.out.println();
}

public void setID()
{
int[] arr=super.getID();
for (int i=0;i<6 ;i++ )
{
arr[i]=(int)(Math.random()*10);
}
super.setID(arr);
}

public int[] getID()
{
return super.getID();
}
}

温馨提示:答案为网友推荐,仅供参考
相似回答