成员变量隐藏和方法重写5_3 5_4 5_5

来源:互联网 发布:电气二次接线软件 编辑:程序博客网 时间:2024/05/22 00:13

例5_2:

class A{
    public double y=11.456789;
    public void f(){
       y=y+1;
       System.out.printf("y是double型的变量,y=%f\n",y);
    }
}
class B extends A{
    int y=0;
    public void g(){
       y=y+100;
       System.out.printf("y是int型的变量,y=%d\n",y);
    }
}
class Example5_3{
    public static void main(String args[ ]){
       B b=new B();
       b.y=200;
       b.g();        
       b.f();         
    }  
}

结果:

y是int型的变量,y=300
y是double型的变量,y=12.456789


例5_4:

class A{
    protected double x=8.0,y=0.888888;  
    public void speak(){
       System.out.println("我喜欢NBA");
    }
    public void cry(){
       y=x+y;   
       System.out.printf("y=%f\n",y);
    }
}
class B extends A{
    int y=100,z;
    public void speak(){
       z=2*y;
       System.out.println("I love This Game");
       System.out.printf("y=%d,z=%d",y,z);
    } 
}
class Example5_4{
    public static void main(String args[ ]){
       B b=new B();
       b.cry();
       b.speak();
    }  
}

结果:

y=8.888888
I love This Game
y=100,z=200


例5_5:

class A{
    public int f(int x,int y){
       return x+y;
    }
}
class B extends A{
    public int f(byte x,int y){
       return x*y;
    }
}
public class Example5_5{
    public static void main(String args[]){
       int z=0;
       B b=new B();
       z=b.f(10,10);        
       System.out.println(z);
       z=b.f((byte)10,10);     
       System.out.println(z);
    }  
}

结果:

20

100