Java使用super操作被隐藏的成员变量和方法
2014-01-14 17:23
627 查看
源代码:
public class Test {
public static void main(String[] args) {
B b=new B();
b.m=3;
b.n=7;
long resultOne=b.g();
long resultTwo=b.f();
long resultThree=b.g();
System.out.println(resultOne);
System.out.println(resultTwo);
System.out.println(resultThree);
}
}
class A{
int m=0;
int n=0;
long f(){
return m+n;
}
}
class B extends A{
int m=1;
int n=1;
long f(){
long result=0;
super.m=10;
super.n=20;
result=super.f()+(m+n);
return result;
}
long g(){
long result=0;
result=super.f();
return result/2;
}
}
程序运行结果:
public class Test {
public static void main(String[] args) {
B b=new B();
b.m=3;
b.n=7;
long resultOne=b.g();
long resultTwo=b.f();
long resultThree=b.g();
System.out.println(resultOne);
System.out.println(resultTwo);
System.out.println(resultThree);
}
}
class A{
int m=0;
int n=0;
long f(){
return m+n;
}
}
class B extends A{
int m=1;
int n=1;
long f(){
long result=0;
super.m=10;
super.n=20;
result=super.f()+(m+n);
return result;
}
long g(){
long result=0;
result=super.f();
return result/2;
}
}
程序运行结果:
相关文章推荐
- java入门-成员变量的隐藏与方法重写(super)
- Java类成员(成员变量和方法)的覆盖与隐藏归纳
- java 子类继承父类成员变量的隐藏、实现方法的重写
- Java中方法的重写与成员变量的隐藏
- Android(java)学习笔记109:通过反射获取成员变量和成员方法并且使用
- java中使用反射做一个工具类,来为指定类中的成员变量进行赋值操作,使用与多个类对象的成员变量的赋值。
- 黑马程序员--Java基础加强--16.利用反射操作泛型V【通过Constructor反射解析泛型构造方法】【通过Field反射解析泛型成员变量】【个人总结】
- Java中方法的重写与成员变量的隐藏
- 由一个简单示例 引出java继承中父子类成员变量共享问题 以及super的使用
- java反射学习笔记(3)---使用Class来获取方法、成员变量、构造函数信息
- Java子类继承(二):隐藏成员变量和方法重写的理解
- 黑马程序员1——关于Java的继承过程中成员变量与方法的隐藏与覆盖
- java基础(八)Math/代码块/继承成员方法指南的关系/继承中成员变量之间的关系/方法的重写/继承中构造方法之间的关系/this和super的区别
- 透析Java本质-方法与成员变量的隐藏
- Java 中,为什么在静态方法中可以调用的方法、可以使用的成员变量必须是静态的?
- Java_类和对象(完美总结)_转载_覆盖和隐藏的区别,覆盖就不能使用了,而隐藏提供全局方法名或者全局变量名还可以使用
- Java类成员(成员变量和方法)的覆盖与隐藏归纳
- 对Java方法内部使用this访问成员变量的深入理解
- 使用java反射操作类的构造函数,成员变量和成员方法
- Java中成员变量的隐藏和方法的重写