黑马程序员技术交流社区

标题: abstract能和其他关键字一起使用么。 [打印本页]

作者: 蒋东东    时间: 2013-11-1 00:51
标题: abstract能和其他关键字一起使用么。
本帖最后由 蒋东东 于 2013-11-1 19:02 编辑

abstract关键字有没有和其他关键字一起使用的情况?有的话举个例子啊。还有,不能和哪些关键字一起使用。
作者: 思·长安    时间: 2013-11-1 10:55
例:   public abstract void ShowNationality();
如上 abstract 可以和访问修饰符如public 和 返回值类型如void一起使用
但是 abstract 方法不能被private,static所修饰
原因1:abstract方法不能有实现,必须被子类重写override(除非子类也是抽象类)
如果使用使用private关键字,抽象类的外部类无法访问这个方法,也就无从谈起重写
原因2:abstract方法在不同子类中可能会有不同实现,而static方法是静态的在不创建对象时也可以调用,
如果抽象类被static修饰了,那他一开始就被加载了,没有方法体调用了,达不到多态的要求。
作者: 夢醒了⊙﹏⊙b心    时间: 2013-11-1 12:00
被abstract修饰的类或者方法都事抽象的  既然是抽象的  那么就会被重写(override) 所以就要被访问  所以反问修饰符必须得为public  当然也可以为静态的  只不过重写以后也得为static




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