请教下网上的高手在java中动态成员变量怎样理解,能举个例吗? 5

 我来答
每天学点Java
2010-08-06 · TA获得超过5940个赞
知道大有可为答主
回答量:3547
采纳率:0%
帮助的人:1376万
展开全部
在运行过程中,成员变量(包括静态变量和实例变量)以及静态方法都和引用变量的声明类型绑定, 实例方法将和实例绑定.举例如下:

class Father{

private int private_var;
static int static_var;
public int public_var;

private void private_method(){}
static void static_method(){}
public void public_method(){}

}

class Son extends Father{

private int private_var;
static int static_var;
public int public_var;

private void private_method(){}
static void static_method(){}

}

以上代码中,子类Son和父类Father具有同名的变量和方法.对于以下代码,引用变量f声明为Father类型,实际引用的是Son的实例,那么通过变量f来访问成员变量和方法,绑定关系如下:

Father f=new Son();

int v1=f.private_var; //bind with father's private_var
int v2=f.static_var; //bind with father's static_var
int v3=f.public_var; //bind with father's public_var

f.private_method(); //bind with father's private_method
f.static_method(); //bind with father's static_method
f.public_method(); //bind with son's public_method

我个人的理解是方正就是把子类强制转换成父类对象,这样当你有多个不同的继承自父类的子类时,实际用的时候用的方法和变量都会是各自对应的子类
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式