java一个方法后面加大括号和不加的区别

package第三天.java基础加强_3;publicabstractclassGender{//内部类publicstaticGenderMALE=newGender... package 第三天.java基础加强_3;

public abstract class Gender {
//内部类
public static Gender MALE=new Gender("男"){
public String getAge(){
return "25";
}
};
public static Gender FAMALE=new Gender("女"){
public String getAge() {
return "23";
}

};

private String value;

private Gender(String val){
this.value=val;
}

public String getValue(){
return this.value;
}

//对外提供入口
public abstract String getAge();

}

最后一句换成public abstract String getAge(){}就出错,为什么呢?
展开
 我来答
woshidaniel
推荐于2017-09-11 · TA获得超过9240个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:957万
展开全部

加大括号表示方法的完整定义(在类中)

public class A{
   public void h1(){//带{},定义一个完整的方法h1
   }
}

不加括号表示方法的申明(比如在接口或者抽象类中)

public interface H{
  void t1();//定义一个方法t1,可以在实现类中实现该方法t1
}
Don_c_c
2015-10-06 · 超过11用户采纳过TA的回答
知道答主
回答量:23
采纳率:0%
帮助的人:21.7万
展开全部
大括号内是方法体,是方法的具体实现逻辑。
不加大括号,是抽象方法或者接口,只有方法的声明。
加大括号,就是一般方法了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
澶漫1
2014-10-21 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:99
采纳率:0%
帮助的人:118万
展开全部
抽象方法不能有方法体,空大括号就是方法体,只不过它没有代码,什么都不执行
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蜀南真人
2014-10-21 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:103万
展开全部
没有返回值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式