java:关于继承变量的值问题
1、在java中,如果子类继承父类的静态变量时,当你在子类面前修改这个静态变量的值,其父类的静态变量也会改变。
案例:
//父类
public class Animal {
//静态属性
public static int Age=1;
};
//子类
public class Cat extends Animal{
//静态方法
public static void print(){
System.out.println("Animal:"+Animal.Age+"; Cat:"+Cat.Age);
};
//普通方法
public void say(){
System.out.println("Animal:"+Animal.Age+"; Cat:"+Cat.Age);
};
};
测试:
public class numberMain {
public static void main(String[] args) {
Cat c=new Cat();
c.say();
Cat.print();
System.out.println("改值后:");
Cat.Age=5;
c.say();
c.print();
}
};
2、问题:如果子类继承父类的变量时?当修改这个子类变量时父类的值会不会也改变?
案例:
//父类
public class Animal {
public int height=1;
};
//子类
public class Cat extends Animal{
//public int height=1;
public void setHeight(int _h){
this.height=_h;
};
public int getHeight(){
return height;
}
public void say(){
//子类的值
Animal a=new Animal();
System.out.println("Animal类:"+a.height+"; Cat类:"+this.height);
};
};
测试:
public class numberMain {
public static void main(String[] args) {
Cat c=new Cat();
System.out.println("没修改前:");
c.say();
System.out.println("没修改后:");
c.setHeight(5);
c.say();
}
};
结果:
没修改前:
Animal类:1; Cat类:1
没修改后
Animal类:1; Cat类:5
由此可见:当你改变父类的普通变量时,子类的变量不会改变,但是如果是静态变量,一旦修改父类静态变量值,子类静态变量的值也会变。
java:关于继承变量的值问题的更多相关文章
- Java中初始变量默认值
Java语言中有8种基本数据类型,基本情况汇总如下: 序号 数据类型 大小/位 封装类 默认值 可表示数据范围 1 byte(位) 8 Byte 0 -128~127 2 short(短整数) 16 ...
- 调试Java源代码时变量的值无法追踪怎么办?
问题:调试Java源代码时,只能看到源代码,却无法查看源代码中的变量的即时值 原因:jre为了节省空间,在打包时去掉了class文件中的调试信息. 思路:使用jdk里的src.zip源码重新编译生成完 ...
- JAVA中方法和变量在继承中的覆盖和隐藏
出处:http://renyanwei.iteye.com/blog/258304 我们知道,在JAVA中,子类可以继承父类,如果子类声明的方法与父类有重名的情况怎么办,大伙儿都知道要是重写,但是实际 ...
- JAVA中方法和变量在继承中的覆盖和隐藏(一)
我们知道,在JAVA中,子类可以继承父类,如果子类声明的方法与父类有重名的情况怎么办,大伙儿都知道要是重写,但是实际上这又分为两种情况,就是方法和变量在继承时的覆盖和隐藏问题,这些概念性的东西看似无聊 ...
- Java基础 成员变量的继承与覆盖
通过继承可以得到父类的成员变量,子类的成员变量包括从父类继承的成员变量(包括从祖先类中继承的成员变量)以及子类中重新定义的成员变量.本次介绍内容包括:可以继承哪些成员?如果子类和父类出现了相同的成员变 ...
- 谈谈java中静态变量与静态方法在有继承关系的两个类中调用
谈谈java中静态变量与静态方法在有继承关系的两个类中调用 学习的中如果遇到不明白或者不清楚的的时候,就是自己做些测试,自己去试试,这次我就做一个关于静态变量和静态方法在有继承关系的两个类中的问题测试 ...
- 谈谈java中成员变量与成员方法继承的问题
谈谈java中成员变量与成员方法继承的问题 关于成员变量和成员方法的的继承问题,我也可以做一个小测试,来看看结果. 首先我们先创建一个父类:
- Java类成员变量的默认值
1.布尔型(boolean)变量默认值为false,byte.short.int.long为0,字符型为'\u0000'(空字符),浮点型(float double)为0.0,引用类型(String) ...
- JAVA交换两个变量的值-(不使用第三变量)
以下方法的根本原理就是: 借助第三个变量 c = a; a = b; b = c; 运算符-不借助第三变量: a = a+b; b = a-b; a = a-b; 为运算符-不借助第三个变量: (此种 ...
随机推荐
- LDO和DC-DC器件的区别
DCDC的意思是直流变(到)直流(不同直流电源值的转换),只要符合这个定义都可以叫DCDC转换器,包括LDO.但是一般的说法是把直流变(到)直流由开关方式实现的器件叫DCDC. LDO 是低 ...
- Java继承,多态,组合应用
继承: 面向对象的三大特征之一: 是类和类之间的一种拓展关系,是一种从一般到特殊的关系; 格式: sub extends Super, 我们把sub称为子类或者拓展类, 把supe ...
- unity 3d孤岛求生案例代码解析
这是第一人称控制器脚本,如果把摄像机放在胶囊体后面感觉就是第三人称了啊. #pragma strict var speed : float = 6.0; var jumpspeed: float = ...
- springbootboot-HttpServletRequest.getInputStream() 获取post内容
问题描述: 在php端用curl post一段json到java springboot.在java端用request.getInputStream()获取到的数据为空. 问题确认: 询问度娘后, 她告 ...
- Markdown 快速入门
使用Markdown编辑器:MarkdownPad 2 标题: # 标题 ## 标题 ### 标题 #### 标题 ##### 标题 ###### 标题 效果: 标题 标题 标题 标题 标题 标题 下 ...
- IE6/IE7/IE8兼容H5标签
可以使用html5shiv(html5shiv主要解决HTML5提出的新元素不被IE6-8识别,这些新元素不能作为父节点包裹子元素,并且不能应用CSS样式)来解决 <!--[if lt IE 9 ...
- Eclipse创建Maven时提示错误could not resolve archetype
今天用Eclipse创建Maven多模块项目的时候提示错误: could not resolve archetype ******release from any of the configured ...
- ArcMap中地图输出(Options)选项显示不完整
首先,我开始遇到的时候,认为是高分辨屏幕的问题,所以修改了屏幕的分辨率,结果并没有改变. 然后,认为是对话窗口的显示,修改字体大小,也没有显示完整. 最后,是修改了ArcGIS的注册表才解决.解决方式 ...
- 第十周PSP
第十周PSP 工作周期:11.17-11.24 本周PSP: C类型 C内容 S开始时间 ST结束时间 I中断时间 T净时间(分) 文档 写随笔(PSP) 16:20min 16:50min 0 ...
- I/O复用
1.I/O模型 一个输入操作通常包括两个不同阶段:等待数据准备好:从内核到进程拷贝数据. 阻塞I/O模型 非阻塞I/O模型 I/O复用模型:内核发现进程指定的一个或多个I/O条件就绪,它就通知进程,由 ...