如何修复JAVA VS代码中的实现错误;必须实现继承的抽象类;
我目前正在学习接口、类和泛型 我当前的任务是创建一个模仿Java中“ArrayList”的类。(可能是java 7) 我创建了一个类:如何修复JAVA VS代码中的实现错误;必须实现继承的抽象类;,java,class,generics,arraylist,interface,Java,Class,Generics,Arraylist,Interface,我目前正在学习接口、类和泛型 我当前的任务是创建一个模仿Java中“ArrayList”的类。(可能是java 7) 我创建了一个类:public类StudentArrayList实现了SimpleArrayList{ 但我得到了这个错误: 错误:类型StudentArrayList必须实现继承的抽象方法SimpleArrayList.set(int,E)Java(67109264) 我已经实现了类中的所有函数签名,但仍然是我一次又一次地要求实现。 如何解决此问题?请让我知道。 谢谢 Stud
public类StudentArrayList实现了SimpleArrayList{
但我得到了这个错误:
错误:类型StudentArrayList必须实现继承的抽象方法SimpleArrayList.set(int,E)Java(67109264)
我已经实现了类中的所有函数签名,但仍然是我一次又一次地要求实现。
如何解决此问题?请让我知道。
谢谢
StudentArrayList.java:
public class StudentArrayList implements SimpleArrayList<E> {
public static void main(String[] args) {
System.out.println("Success");
}
@Override
public int size() {
// TODO Auto-generated method stub
return 0;
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean contains(E o) {
// TODO Auto-generated method stub
return false;
}
@Override
public E[] toArray() {
// TODO Auto-generated method stub
return null;
}
@Override
public void add(E e) {
// TODO Auto-generated method stub
}
@Override
public void remove(E o) {
// TODO Auto-generated method stub
}
@Override
public boolean containsAll(SimpleArrayList<E> c) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean addAll(SimpleArrayList<E> c) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean addAll(int index, SimpleArrayList<E> c) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean removeAll(SimpleArrayList<E> c) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean retainAll(SimpleArrayList<E> c) {
// TODO Auto-generated method stub
return false;
}
@Override
public void clear() {
// TODO Auto-generated method stub
}
@Override
public E get(int index) {
// TODO Auto-generated method stub
return null;
}
@Override
public void set(int index, E element) {
// TODO Auto-generated method stub
}
@Override
public void add(int index, E element) {
// TODO Auto-generated method stub
}
@Override
public void remove(int index) {
// TODO Auto-generated method stub
}
@Override
public int indexOf(E o) {
// TODO Auto-generated method stub
return 0;
}
@Override
public int lastIndexOf(E o) {
// TODO Auto-generated method stub
return 0;
}
@Override
public SimpleArrayList subList(int fromIndex, int toIndex) {
// TODO Auto-generated method stub
return null;
}
}`
公共类StudentArrayList实现SimpleArrayList{
公共静态void main(字符串[]args){
System.out.println(“成功”);
}
@凌驾
公共整数大小(){
//TODO自动生成的方法存根
返回0;
}
@凌驾
公共布尔值为空(){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共布尔包含(EO){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共E[]toArray(){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共空间添加(E){
//TODO自动生成的方法存根
}
@凌驾
删除公共空间(E o){
//TODO自动生成的方法存根
}
@凌驾
公共布尔containsAll(SimpleArrayList c){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共布尔addAll(SimpleArrayList c){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共布尔addAll(int索引,SimpleArrayList c){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共布尔removeAll(SimpleArrayList c){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共布尔保留(SimpleArrayList c){
//TODO自动生成的方法存根
返回false;
}
@凌驾
公共空间清除(){
//TODO自动生成的方法存根
}
@凌驾
公共E-get(int索引){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共空集(整数索引,E元素){
//TODO自动生成的方法存根
}
@凌驾
公共void add(int索引,E元素){
//TODO自动生成的方法存根
}
@凌驾
公共无效删除(整型索引){
//TODO自动生成的方法存根
}
@凌驾
公共内部索引(EO){
//TODO自动生成的方法存根
返回0;
}
@凌驾
公共int lastIndexOf(EO){
//TODO自动生成的方法存根
返回0;
}
@凌驾
公共SimpleArrayList子列表(int-fromIndex、int-toIndex){
//TODO自动生成的方法存根
返回null;
}
}`
您似乎试图编写一个实现泛型接口的泛型类。问题是您实际上没有将该类声明为泛型。因此编译器将E
作为类名
宣言:
public class StudentArrayList implements SimpleArrayList<E> {
公共类StudentArrayList实现SimpleArrayList{
应该是:
public class StudentArrayList<E> implements SimpleArrayList<E> {
公共类StudentArrayList实现SimpleArrayList{
StudentArrayList
之后的
将E
声明为StudentArrayList
的类型参数
编译错误可能是由于编译器认为
E
是一个类名(而不是一个类型参数),并且没有找到它的任何定义。MS Visual code很棒……但是对于Java,我强烈建议使用类似Eclipse的IDE(我的首选),NetBeans或IntelliJ.IntellJ由于某些原因无法在我的计算机上工作,我必须很快提交此作业,因此我无法花时间安装/修复IntellJUse文本编辑器。升华文本、Atom、记事本++。