下面的Java代码中有问号的地方怎么理解?
classAnimal{privatevoidbeat(){System.out.println("心脏跳动...");}publicvoidbreath(){beat(...
class Animal
{
private void beat()
{
System.out.println("心脏跳动...");
}
public void breath()
{
beat();
System.out.println("吸一口气,吐一口气,呼吸中...");
}
}
class Bird
{
private Animal a; ?????
public Bird(Animal a)
{
this.a = a; ????????
}
public void breath()
{
a.breath();
}
public void fly()
{
System.out.println("我在天空自在的飞翔...");
}
} 展开
{
private void beat()
{
System.out.println("心脏跳动...");
}
public void breath()
{
beat();
System.out.println("吸一口气,吐一口气,呼吸中...");
}
}
class Bird
{
private Animal a; ?????
public Bird(Animal a)
{
this.a = a; ????????
}
public void breath()
{
a.breath();
}
public void fly()
{
System.out.println("我在天空自在的飞翔...");
}
} 展开
2个回答
2014-12-28
展开全部
private Animal a; 做class Bird的属性
public Bird(Animal a)
{ this.a = a; } 通过构造方法把a传进去
public Bird(Animal a)
{ this.a = a; } 通过构造方法把a传进去
更多追问追答
追问
传进去的a就是主函数main()中通过new创建实例对象时所构造的a吗?
追答
对的
2014-12-28
展开全部
Animal是父类,有两个方法,bird是子类,bird继承了animal类,重写了animal的breath方法,并且有一个自己的fly方法。 在bird的构造函数里需要传入一个animal参数,然后将传入参数赋值给bird的私有属性a.
追问
既然a是bird的属性 作为属性他可以调用animal的方法吗
追答
bird继承了animal!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询