黑马程序员技术交流社区

标题: 抽象方法用public修饰有意义吗 [打印本页]

作者: 孙茜茜    时间: 2013-6-2 21:59
标题: 抽象方法用public修饰有意义吗
本帖最后由 孙茜茜 于 2013-6-2 22:51 编辑

如图

老师写完abstract之后顺嘴说给他对外暴露一下,但是这个写不写public都没意义吧,又没有具体的函数体。

再如果用private修饰,是不是这个抽象方法根本就无法实例化了?

QQ截图20130602215145.jpg (10.33 KB, 下载次数: 1)

QQ截图20130602215145.jpg

作者: 神之梦    时间: 2013-6-2 22:05
抽象方法需要被复写,不能用private修饰
作者: 闫月乐    时间: 2013-6-2 22:07
1,子类要强制复写父类中的抽象方法
作者: 闫月乐    时间: 2013-6-2 22:12
1,子类要强制复写父类中的全部抽象方法
2,被复写的函数,在子类权限要求大于等于父类中该函数的权限,故此时加上public会让子类中的函数强制为public。(当然,此时没有多少意义)
3,加上public主要是后期接口中有固定格式需要加上public,给函数最大权限。

抽象方法不能与以下修饰符共存
1, final                抽象必须覆盖子类函数,而final已经将父类中的函数变成最终的了。2, static       被static修饰后,可以直接被类名调用,而抽象方法没有主体,无意义.,3, private        函数已经私有了,便不能被修改了。而abstract是必须覆盖



作者: 王林涛    时间: 2013-6-2 22:35
首先,你这个类应该这样写: abstract class student ,这样写是一个抽象类
抽象类里的方法还有变量命名都有固定格式:例如:你上面例子里,public abstract void study();这里是一个固定格式,如果你不写public,abstract,void这几个关键字,当你编译程序的时候,java虚拟机会帮你自动加上这几个关键字!
作者: 赵崇友    时间: 2013-6-3 00:14
看来都是大神啊,拿分走人……
作者: Super_Class    时间: 2013-6-3 07:59
抽象方法默认都会有public abstract 修饰




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