【发布时间】:2014-11-11 11:37:08
【问题描述】:
我是 Java 新手。我有一个继承的问题。 我试着写一些排序类。他们也有相同的数据结构和相同的方法。 所以我尝试使用继承。 我写了这个基类。
public class Sort {
private int[] lst;
public Sort(int[] lst) {
this.lst = lst;
}
public void sort() {
return;
}
public String toString() {
String aa = "";
for (int innt : this.lst) {
aa = aa + innt + "" + " ";
}
return aa;
}
}
还有这个
public class Select extends Sort{
private int[] lst;
public Select(int[] lst) {
super(lst);
}
public void sort() {
for (int i = 0; i < this.lst.length; i++) {
int small = lst[i];
int small_ind = i;
for (int j = i + 1; j < this.lst.length; j++) {
if (lst[j] < small) {
small = lst[j];
small_ind = j;
}
}
int temp = lst[i];
lst[i] = small;
lst[small_ind] = temp;
}
}
}
但是当我运行它时
public class Test {
public static void main(String[] args) {
int[] a = {5, 6, 7, 5, 7, 3, 2, 1, 4, 8};
Sort sl = new Select(a);
sl.sort();
System.out.println(sl.toString());
}
}
它不起作用。线程“主”java.lang.NullPointerException 中的异常 它仅在我将 toString 方法移动到 Select 类并删除“扩展排序”时才有效。 你介意帮助我吗?谢谢。
【问题讨论】:
-
请添加整个堆栈跟踪。
-
我不明白为什么会有接近的投票。对我来说似乎是一个有效的问题。
-
@Ross Drew 也许有些人追求某个徽章。
标签: java inheritance