abstract类中可以包含private成员吗?

loujing 2003-07-16 12:21:28
印旻的《Java语言与面向对象程序设计》中p85页说“abstract类中不能有private的成员(包括属性和方法)”,可是我上机操作,却可以正常编译通过,到底abstract类中可以包含private成员吗?
abstract class Point {
private int x = 1, y = 1;
void move(int dx, int dy) {
x += dx;
y += dy;
alert();
}
abstract void alert();
}



abstract class ColoredPoint extends Point {
private int color;
}

class SimplePoint extends Point {
void alert() { }
}
...全文
2249 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cloudjava 2003-07-16
  • 打赏
  • 举报
回复
可以。
java类中,只要有一个方法是不完整的类就是抽象类。
我在作抽象类(一般作基类)的时候,一直这莫用。
xiaohaiz 2003-07-16
  • 打赏
  • 举报
回复
可以
疾风2002 2003-07-16
  • 打赏
  • 举报
回复
在抽象类的实现了的方法中如果有必要用到private 属性的成员,如:两个方法间共享一个属性做程序流程控制(也许不太符合软工的低耦合要求,但有时是最简便的),这个属性不希望在子类其它方法中改变.
shine333 2003-07-16
  • 打赏
  • 举报
回复
当然可以了
onefox 2003-07-16
  • 打赏
  • 举报
回复 2
抽象类不能直接实例化,只能继承

private 成员无法被继承

所以抽象类的 private 成员无意义

既不能被抽象类自己使用,也不能被子类使用
ahiong 2003-07-16
  • 打赏
  • 举报
回复
可能是翻译的错误吧。
不过抽象类中的属性最好还是用protected的好,这样在子类实现抽象方法的时候
就可以使用到这些属性,当然了,在某些特殊要求下,一定要禁止子类使用抽象类中的属性的
情况除外。
hehecafe 2003-07-16
  • 打赏
  • 举报
回复
当然可以啦

62,636

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧