在java中,B类继承A类,但是对A类有方法和全局变量的重写和覆盖,在C类中创建B b;如何用b访问A中被覆部分
9个回答
展开全部
可以通过父类类型指向子类对象,即 A a=new B();调用的是父类A中被覆盖的方法(子类B中重写的方法),但如果调用的父类的属性仍然是父类A的属性,并非B的属性。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if是 B b=new B(); b是无法访问A中的成员;
if是 A a=new B(); 则a可以访问A中的成员变量,但不能访问成员函数;
if是 A a=new B(); 则a可以访问A中的成员变量,但不能访问成员函数;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class A {
public void a(){
System.out.println("a");
}
}
public class B extends A{
public void a(){
System.out.println("b");
}
}
public class Test {
public static void main(String[] args) {
A b=new A();
b.a();
b=new B();
b.a();
}
}
测试类中的第一个b.a()是A中的方法,第二个是b.a()是B中的方法。如果直接是B类的对象是无法访问到A类中的方法的。。
public void a(){
System.out.println("a");
}
}
public class B extends A{
public void a(){
System.out.println("b");
}
}
public class Test {
public static void main(String[] args) {
A b=new A();
b.a();
b=new B();
b.a();
}
}
测试类中的第一个b.a()是A中的方法,第二个是b.a()是B中的方法。如果直接是B类的对象是无法访问到A类中的方法的。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用关键字super.属性名,或者super.方法名就可以调用父类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在不修改其他的情况下,是没法通过子类的对象调用父类中被覆盖的部分的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询