黑马程序员技术交流社区

标题: 关于抽象方法的问题! [打印本页]

作者: 李长波    时间: 2012-11-12 21:45
标题: 关于抽象方法的问题!
本帖最后由 李长波 于 2012-11-12 23:03 编辑

我们知道抽象类中可以定义抽象方法!也可以不定义抽象方法!
现在的问题是老师说只要带分号的方法都是抽象方法!
难道真的是这样的吗?
作者: 邢晏玮    时间: 2012-11-12 21:52
其实是一般方法后面的大括号中写的是方法体,而带分号的是没有方法体的,需要在下面覆写它的方法后才具有方法,也就是说抽象的方法只具有方法的名字而不具有方法体
所有就不用大括号而用分号结束
作者: 李长波    时间: 2012-11-12 21:54
public abstract 这两关键字不能一起使用吧!
作者: 罗宝    时间: 2012-11-12 22:07
李长波 发表于 2012-11-12 21:54
public abstract 这两关键字不能一起使用吧!


可以连用,在eclipse里试一下就知道了!

主要是当修饰类时,要注意,不要定义两个公共类,
这在java中是不允许的!
作者: 李长波    时间: 2012-11-12 22:13
嗯 !public这个可以和abstruct一起用 !典型的接口里的用法!搞混了!
作者: 程宏志    时间: 2012-11-12 22:35
这样的理解的话那就是你对抽象类
作者: 程宏志    时间: 2012-11-12 22:38
你这样的理解不太正确,应该是方法中使用了abstract关键字的话,那就说明这个方法,然后就是怎么书写抽象方法的问题了。你不要前因后果给弄反了
作者: 马纵驰    时间: 2012-11-12 22:52
java语法规定的,抽象类的方法的格式。全写是public abstract void 函数名();
简写可以是
1public void 函数名();
2void 函数名();
作者: 李长波    时间: 2012-11-12 23:01
程宏志 发表于 2012-11-12 22:38
你这样的理解不太正确,应该是方法中使用了abstract关键字的话,那就说明这个方法,然后就是怎么书写抽象方 ...

嗯!知道了!
作者: 殷士剑    时间: 2012-11-12 23:03
现在的问题是老师说只要带分号的方法都是抽象方法!

这个问题咱们可以在 Eclipse 或 MyEclipse 中试一下;
一个有方法体的方法带不带分号都是一个意思,一般情况下是不会带的;
一个没有方法体的方法,即抽象方法,必须带有分号,否则 MyEclipse 就会有错误提示。
所以,毕老师的说法是对的,只是说法不是很严谨。




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