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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙茜茜 中级黑马   /  2013-6-2 21:59  /  3251 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙茜茜 于 2013-6-2 22:51 编辑

如图

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

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

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

QQ截图20130602215145.jpg

6 个回复

倒序浏览
抽象方法需要被复写,不能用private修饰
回复 使用道具 举报
1,子类要强制复写父类中的抽象方法
回复 使用道具 举报
1,子类要强制复写父类中的全部抽象方法
2,被复写的函数,在子类权限要求大于等于父类中该函数的权限,故此时加上public会让子类中的函数强制为public。(当然,此时没有多少意义)
3,加上public主要是后期接口中有固定格式需要加上public,给函数最大权限。

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


回复 使用道具 举报
首先,你这个类应该这样写: abstract class student ,这样写是一个抽象类
抽象类里的方法还有变量命名都有固定格式:例如:你上面例子里,public abstract void study();这里是一个固定格式,如果你不写public,abstract,void这几个关键字,当你编译程序的时候,java虚拟机会帮你自动加上这几个关键字!
回复 使用道具 举报
看来都是大神啊,拿分走人……
回复 使用道具 举报
抽象方法默认都会有public abstract 修饰
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马