A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lvwenwen88 黑马帝   /  2012-2-7 12:57  /  1845 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 lvwenwen88 于 2012-2-7 15:43 编辑

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

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

7 个回复

倒序浏览
本帖最后由 吴璞玉 于 2012-2-7 13:33 编辑

抽象类中的抽象方法是向上抽取而来的,要被使用的话必须由子类复写,抽象方法只定义功能,不具备功能主体,所以不使用{}作为方法结束,要使用;结束

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
不运行应该也很容易就能看出来,哪里出错了,首先该类是一个抽象类(abstract),抽象类中
定义的方法不能有方法体,如果一个类中没有足够多的信息来描述一个具体对象,一般就要
使用抽象类,抽象类中不能用关键字final声明,因为被final声明的类不能有子类,而抽象类
必须被子类继承,然后覆写其抽象方法。抽象类中可以有构造方法,但是不能直接调用,必须
交给子类去调用。运行一下看错误提示,应该就可以解决。
Name.java:3: 抽象方法不能有主体
   public abstract boolean isStupidName(String name) {}
                           ^
1 错误

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
抽象方法没有方法体,所谓方法体就是{}.包括{}和它里面的内容。
回复 使用道具 举报
抽象方法没有方法体,所谓方法体就是{}.包括{}和它里面的内容。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
错误发生在:
public abstract boolean isStupidName(String name) {}

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

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
应将 public abstract boolean isStupidName(String name) {}改为 public abstract boolean isStupidName(String name) ;因为抽象方法是没有方法体的
回复 使用道具 举报
abstract class Name {   //首先,该类被声明为抽象类当然可以有抽象方法也可以完全没有抽象方法。但是一旦有抽象方法必须为抽象类。
   private String name;
   public abstract boolean isStupidName(String name) {}
  /*该方法被声明为了抽象方法,应该没有方法体。其基本形式  成员修饰符 返回值类型  方法名( );
     如果方法名()后有{}就默认为有方法体,其方法体为空而已。
  */
}

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马