黑马程序员技术交流社区

标题: 找错题 [打印本页]

作者: lvwenwen88    时间: 2012-2-7 12:57
标题: 找错题
本帖最后由 lvwenwen88 于 2012-2-7 15:43 编辑

abstract class Name {
   private String name;
   public abstract boolean isStupidName(String name) {}
}

作者: 吴璞玉    时间: 2012-2-7 13:17
本帖最后由 吴璞玉 于 2012-2-7 13:33 编辑

抽象类中的抽象方法是向上抽取而来的,要被使用的话必须由子类复写,抽象方法只定义功能,不具备功能主体,所以不使用{}作为方法结束,要使用;结束
作者: 何洪森    时间: 2012-2-7 13:43
不运行应该也很容易就能看出来,哪里出错了,首先该类是一个抽象类(abstract),抽象类中
定义的方法不能有方法体,如果一个类中没有足够多的信息来描述一个具体对象,一般就要
使用抽象类,抽象类中不能用关键字final声明,因为被final声明的类不能有子类,而抽象类
必须被子类继承,然后覆写其抽象方法。抽象类中可以有构造方法,但是不能直接调用,必须
交给子类去调用。运行一下看错误提示,应该就可以解决。
Name.java:3: 抽象方法不能有主体
   public abstract boolean isStupidName(String name) {}
                           ^
1 错误
作者: 黑马唐浩    时间: 2012-2-7 13:47
抽象方法没有方法体,所谓方法体就是{}.包括{}和它里面的内容。
作者: 黑马唐浩    时间: 2012-2-7 13:47
抽象方法没有方法体,所谓方法体就是{}.包括{}和它里面的内容。
作者: 王_涛    时间: 2012-2-7 13:48
错误发生在:
public abstract boolean isStupidName(String name) {}

抽象方法不能有方法体
改成:
public abstract boolean isStupidName(String name) ;

作者: 林铁柱    时间: 2012-2-7 14:02
应将 public abstract boolean isStupidName(String name) {}改为 public abstract boolean isStupidName(String name) ;因为抽象方法是没有方法体的
作者: 魏腾飞    时间: 2012-2-7 15:10
abstract class Name {   //首先,该类被声明为抽象类当然可以有抽象方法也可以完全没有抽象方法。但是一旦有抽象方法必须为抽象类。
   private String name;
   public abstract boolean isStupidName(String name) {}
  /*该方法被声明为了抽象方法,应该没有方法体。其基本形式  成员修饰符 返回值类型  方法名( );
     如果方法名()后有{}就默认为有方法体,其方法体为空而已。
  */
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2