抽象类的访问声明

[复制链接]
查看11 | 回复3 | 2008-8-17 19:37:46 | 显示全部楼层 |阅读模式
抽象类中的属性和方法不是可以为public,private的么?但为什么定义:
private abstract void tesAbst();
或是
private abstract void tesAbst(){}
就是提示:
The abstract method tesAbst in type AbstractTest can only set a visibility modifier, one of public or protected?
谢谢!

回复

使用道具 举报

千问 | 2008-8-17 19:37:46 | 显示全部楼层
提示的意思就是抽象类的方法要申明为public或者protected。就是不能像你这样申明为private。抽象类什么意思呢?就是抽象类中的抽象方法,是没有方法体的,是由继承抽象类的子类覆盖这些方法,提供方法体。 如果方法申明为private,那岂不是这个方法所在的抽象类的子类都不能去重写这个方法,那就不存在这样的子类了…… 因为抽象类的非抽象子类必须重写所有父类的抽象方法。 个么这个抽象类建了没意义咧……
回复

使用道具 举报

千问 | 2008-8-17 19:37:46 | 显示全部楼层
abstract类中的方法不可以是private,因为它要被子类重写啊,你弄成private怎么重写呢?
回复

使用道具 举报

千问 | 2008-8-17 19:37:46 | 显示全部楼层
private abstract void tesAbst();抽象方法需要子类重写 privare子类访问不到private abstract void tesAbst(){} 语法就错了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行