java问题 要求详细解释下
对于如下代码段classA{publicAfoo(){returnthis;}}classBextendsA{publicAfoo(){returnthis;}}clas...
对于如下代码段
class A{public A foo(){return this;}}
class B extends A{public A foo(){return this;}}
class C extends B
{
-----------------------------------
}
可以放入到横线位置,使程序正确编译运行,而且不产生错误的选项是(C)
A. public void foo(){} B. public int foo(){return 1;}
C.public A foo(B b){return b;} D. public A foo(){return A;} 展开
class A{public A foo(){return this;}}
class B extends A{public A foo(){return this;}}
class C extends B
{
-----------------------------------
}
可以放入到横线位置,使程序正确编译运行,而且不产生错误的选项是(C)
A. public void foo(){} B. public int foo(){return 1;}
C.public A foo(B b){return b;} D. public A foo(){return A;} 展开
6个回答
展开全部
C.public A foo(B b){return b;}
正确答案。
A。不应该是void
B。不应该是int
D,不应该是returnA 。A没有定义,需要重新定义
已经在代码中测试过了
正确答案。
A。不应该是void
B。不应该是int
D,不应该是returnA 。A没有定义,需要重新定义
已经在代码中测试过了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A和B都是一样的错误,是方法的重载,不能用不同的返回值区分重载方法!
D,方法覆盖,但是return A;语句是错误的,A是定义,不是实例。
C,方法覆盖,返回的值是B类型的b,因为B类继承于A,所以b也是A的实例
D,方法覆盖,但是return A;语句是错误的,A是定义,不是实例。
C,方法覆盖,返回的值是B类型的b,因为B类继承于A,所以b也是A的实例
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
~~这道题考察的是 函数重载 与重写
a,b 两项 仅仅只是返回值不同的函数 是不能重载的
d 的 返回值 return A; 这个A 根据就不是一个对象
a,b 两项 仅仅只是返回值不同的函数 是不能重载的
d 的 返回值 return A; 这个A 根据就不是一个对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
传进去一个对象b,就可以返回了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
继承,去看看吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询