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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蒋东东 中级黑马   /  2013-11-1 00:51  /  2221 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 蒋东东 于 2013-11-1 19:02 编辑

abstract关键字有没有和其他关键字一起使用的情况?有的话举个例子啊。还有,不能和哪些关键字一起使用。

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

2 个回复

倒序浏览
例:   public abstract void ShowNationality();
如上 abstract 可以和访问修饰符如public 和 返回值类型如void一起使用
但是 abstract 方法不能被private,static所修饰
原因1:abstract方法不能有实现,必须被子类重写override(除非子类也是抽象类)
如果使用使用private关键字,抽象类的外部类无法访问这个方法,也就无从谈起重写
原因2:abstract方法在不同子类中可能会有不同实现,而static方法是静态的在不创建对象时也可以调用,
如果抽象类被static修饰了,那他一开始就被加载了,没有方法体调用了,达不到多态的要求。

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

回复 使用道具 举报
被abstract修饰的类或者方法都事抽象的  既然是抽象的  那么就会被重写(override) 所以就要被访问  所以反问修饰符必须得为public  当然也可以为静态的  只不过重写以后也得为static

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

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