我是初学者,我有几个问题,怎么也想不明白,请大家指教,谢谢!!
我在看的抽象类的时候,有这样一个题目,
abstract class MineBase {
abstract void amethod();
static int i;
}
public class Mine extends MineBase
{
public static void main(String argv[]){
int[] ar = new int[5];
for(i = 0;i < ar.length;i++)
System.out.println(ar[i]);
}
}
这段代码那里有错,答案是:编译出错, Mine应声明为abstract。
我看了半天,我想是不是int[] ar = new int[5];这里有一个抽象方法,所以要把Mine声明为一个抽象类,假如我这样理解是对的话,我还有一个问题就是,int[] ar = new int[5];这句我就是有点看不明白不知道什么意思,int怎么后面就加了一个[],int是一个数据类型啊,
还有我经常看到public static void main(String args[]){}与public static void main(String[] args){},他们的区别是什么呢,这个[]怎么两个地方都可以放。
谢谢指教!!!
问题点数:20、回复次数:4Top
1 楼lwqzl(小胖胖)回复于 2005-04-02 14:42:37 得分 0
那是数组Top
2 楼sunboy7890(杨德智)回复于 2005-04-02 14:42:41 得分 10
第一个问题你应该在去看看JAVA书的抽象类
第二个问题是JAVA支持这种格式String args[]=String[] args 是一个意思,都为声明Top
3 楼joybo()回复于 2005-04-02 14:46:33 得分 10
确是有abstract 方法 amethod()未实现!
String[] args和String args[]是一样的!字符串数组!
习惯上java都用String[] 种形式,代表是数组类型,更符合面向对象的思想!Top
4 楼youngmanlili()回复于 2005-04-02 15:13:31 得分 0
第一个问题是不是因为:是amethod()没有重写,还是..(答案说Mine应声明为abstract。这样可以解决吗?)
第二个我明白了,谢谢大家!!
下面是我的摘抄:
抽象类
java语言中,用abstract 关键字来修饰一个类时,这个类叫做抽象类,用abstract 关键字来修饰一个方法时,这个方法叫做抽象方法。格式如下:
abstract class abstractClass{ …} //抽象类
abstract returnType abstractMethod([paramlist]) //抽象方法
抽象类必须被继承,抽象方法必须被重写。抽象方法只需声明,无需实现;抽象类不能被实例化,抽象类不一定要包含抽象方法。若类中包含了抽象方法,则该类必须被定义为抽象类。
是不是只要写了抽象类就要写其他其他的类来继承,方法就要重写,我这样理解对不对。Top




