java继承的问题

zhiyu19 2007-12-07 11:07:17
刚写个程序,请高手指点,怎么继承父类中private对象,吧private改成public就好使,可要求是private,所以请指点一下
public abstract class A
{
private Fly fly;
public Duck(){
}
public abstract void display();
public void performQuack()
{
fly.s();
}
}
public class B extends A
{
public B()
{
fly=new Wings();
}
public void display()
{
fly.s();
}
}
public interface Fly
{
public abstract void s();
}
public class Wings implements Fly
{
public void s()
{
System.out.println("I can fly!");
}
}
...全文
175 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
不懂编程 2007-12-18
  • 打赏
  • 举报
回复
同意楼上的楼上的楼上...
YeLang2007 2007-12-18
  • 打赏
  • 举报
回复
同意楼上的楼上...
feng_cs 2007-12-18
  • 打赏
  • 举报
回复
同意楼上。
qdlaogui 2007-12-18
  • 打赏
  • 举报
回复
private是私有,可以通过getter,setter访问!
power_115 2007-12-18
  • 打赏
  • 举报
回复
顶Dan1980一下.说的很对目的是要从每一个简单的程序中锻炼自己缜密合理的设计能力和规范的编程风格。要自己好好学习才行.谢谢你的教导.
同时也帮楼主顶一下
apli1980 2007-12-18
  • 打赏
  • 举报
回复
顶一个,虽然不知道楼上说的GETTER,SETTER是什么。但是对程序员的要求和作风说的很有道理。

但记得private定义的东西,作用域只在该类中。
Dan1980 2007-12-18
  • 打赏
  • 举报
回复
要访问private成员很简单,分别设置一个getter和setter就可以了。
可问题是楼主的程序写得太差了,头痛医头,脚痛医脚是不行的。这个程序的问题太多了。
学习基本功,不光是学语法。让你的代码通过编译不是目的,目的是要从每一个简单的程序中锻炼自己缜密合理的设计能力和规范的编程风格。
lixkyx 2007-12-17
  • 打赏
  • 举报
回复
根本行不通的,private成员在子类中不能直接访问.办法有两个:

第一,把private改成protected
第二,如果你一定要访问父类的private成员,那么,在父类中增加一个public方法,它返回该private变量.则在子类中就可以通过调用它来间接访问该变量.
public abstract class A
{
private Fly fly;
public Fly getFly()
{return fly;}
public Duck(){
}
public abstract void display();
public void performQuack()
{
fly.s();
}
}
SheIsMySin 2007-12-09
  • 打赏
  • 举报
回复
改一下试试
海会圣贤 2007-12-09
  • 打赏
  • 举报
回复
应该只能改了,是私有的,没办法
likgui 2007-12-08
  • 打赏
  • 举报
回复
只能改
FredWorks 2007-12-08
  • 打赏
  • 举报
回复
你把private改成procected好了
ltc_mouse 2007-12-08
  • 打赏
  • 举报
回复
是否可以给A增加构造函数,接受Fly参数

abstract class A {
private Fly fly;
public A(Fly fly) {
this.fly = fly;
}
}
class B extends class A {
public B( ) {
super(new Wings());
}
public void display()
{
performQuack();
}
}
joejoe1991 2007-12-08
  • 打赏
  • 举报
回复
private 私有的 。子类不能访问 。,。

62,623

社区成员

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

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