5.3.1成员变量和局部变量
来源:互联网 发布:java 获取cst时间 编辑:程序博客网 时间:2024/06/06 16:36
成员变量被分为类变量和实例变量两种。
由于实例并不拥有类变量,因此它访问的并不是这个实例的变量,依然访问的是它所对应的类变量。也就是说,如果通过一个实例修改了类变量的值,由于这个类变量并不属于它,而是属于它所对应的类。因此,修改的依然是类的类变量,与通过该类来修改类变量的结果完全相同。
package chap5_3;class Person{ public String name; public static int eyeNum;}public class PersonTest { public static void main(String[] args) { System.out.println("Person的eyeNum类变量值:"+Person.eyeNum); Person p=new Person(); System.out.println("p变量的name变量值:"+p.name+"p对象的eyeNum变量值:"+p.eyeNum); p.name="孙悟空"; p.eyeNum=2; System.out.println("p变量的name变量值:"+p.name+"p对象的eyeNum变量值:"+p.eyeNum); System.out.println("Person的eyeNum类变量值:"+Person.eyeNum); Person p2=new Person(); System.out.println("p2对象的eyeNum类变量值:"+p2.eyeNum); }}
运行结果
Person的eyeNum类变量值:0p变量的name变量值:nullp对象的eyeNum变量值:0p变量的name变量值:孙悟空p对象的eyeNum变量值:2Person的eyeNum类变量值:2p2对象的eyeNum类变量值:2
实例也可以访问类变量,同一个类的所有实例访问类变量时,实际上访问的是该类本身的同一个变量,也就是说,访问了同一片内存区。
局部变量根据定义形式的不同,又可以被分为:形参、方法局部变量、代码块局部变量。
package chap5_3;public class BlockTest { public static void main(String[] args) { { int a; // System.out.println("代码块局部变量a的值:"+a); a = 5; System.out.println("代码块局部变量a的值:" + a); } //System.out.println(a); }}
运行结果
代码块局部变量a的值:5
package chap5_3;public class MethodLocalVariableTest { public static void main(String[] args) { int a;// System.out.println("方法局部变量的值:"+a); a=5; System.out.println("方法局部变量的值:"+a); }}
方法局部变量的值:5
形参的作用域是整个方法体内有效,而且形参也无须显式初始化,形参的值由方法的调用者负责指定。
如果方法里的局部变量和成员变量同名,局部变量会覆盖成员变量,如果需要在这个方法里引用被覆盖掉的成员变量,则可使用this(对于实例变量)或类名(对于类变量)作为调用者来限定访问成员变量。
package chap5_3;public class VariableOverrideTest { private String name="李刚"; private static double price=78.0; public static void main(String[] args) { int price=65; System.out.println(price); System.out.println(new VariableOverrideTest().price); new VariableOverrideTest().info(); } public void info() { String name="孙悟空"; System.out.println(name); System.out.println(this.name); }}
运行结果
6578.0孙悟空李刚
0 0
- 5.3.1成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- 成员变量和局部变量
- php面向对象编程以及单例模式
- 游戏项目开发经验分享
- system_call中断处理过程分析
- 1 = 0.999999999...
- 黑马程序员——毕向东视频个人学习笔记(一)-基本常识
- 5.3.1成员变量和局部变量
- 数组指针和指针数组的区别
- Javascript之DOM操作技术
- 20
- HDOJ 题目4313 Matrix(类似克鲁斯卡尔)
- 【javascript高级程序设计】读书摘录1 JavaScript简介
- 乘法逆元
- css伪类,伪元素
- HDU3038 How Many Answers Are Wrong 【并查集】