package newpackage;
public class A {
int x;
int y;
public String a="test";
public A()
{
}
public A(int x,int y)
{
this.x=x;
this.y=y;
}
public void run()
{
System.out.println("ddddddd");
}
public static void main(String[] args)
{
A b=new B();
b.run();
System.out.println(b.a);
}
} public class B extends A
{
public String a="test1111111";
int z;
public B()
{
}
public B(int x,int y,int z)
{
super(x,y);
this.z=z;
}
public void run()
{
System.out.println("nnnnnnnn");
}
}程序中为什么父类的属性没有被隐藏
public class A {
int x;
int y;
public String a="test";
public A()
{
}
public A(int x,int y)
{
this.x=x;
this.y=y;
}
public void run()
{
System.out.println("ddddddd");
}
public static void main(String[] args)
{
A b=new B();
b.run();
System.out.println(b.a);
}
} public class B extends A
{
public String a="test1111111";
int z;
public B()
{
}
public B(int x,int y,int z)
{
super(x,y);
this.z=z;
}
public void run()
{
System.out.println("nnnnnnnn");
}
}程序中为什么父类的属性没有被隐藏
比如: class A{
String getStr(){
return "asdf";
}
}
class B extends A{
String getStr(){
return "aaaa";
}
}然后在调用的时候直接A b = new B(); b.getStr(); 就会实现多态的效果了