主题:[讨论]关于多态的问题?请大虾指教
class Super{
public int id=10;
public void setId(int id){
id=id; }
public int getId(){
return id; }
public Super(){
System.out.println(id);
setId(5);
System.out.println(getId());
}}
class Sub extends Super{
public int id=20;
public void setId(int id){
id=id;}
public Sub(){
System.out.println(id);
setId(15);
System.out.println(getId());
}}
public class Main{
public static void main(String[] args){
Super s=new Sub();
}
}
我读程序之后的结果是:10,5,20,15;
可在计算机上运行的结果是:10,10,20,10;
请大虾分析原因!
public int id=10;
public void setId(int id){
id=id; }
public int getId(){
return id; }
public Super(){
System.out.println(id);
setId(5);
System.out.println(getId());
}}
class Sub extends Super{
public int id=20;
public void setId(int id){
id=id;}
public Sub(){
System.out.println(id);
setId(15);
System.out.println(getId());
}}
public class Main{
public static void main(String[] args){
Super s=new Sub();
}
}
我读程序之后的结果是:10,5,20,15;
可在计算机上运行的结果是:10,10,20,10;
请大虾分析原因!