Java的成员变量和局部变量
2021/7/3 12:21:26
本文主要是介绍Java的成员变量和局部变量,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java的成员变量和局部变量
根据定义变量位置的不同,可以将变量分为成员变量和局部变量
成员变量是在类范围内定义的变量
局部变量是在一个方法内定义的变量
成员变量
类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;
package com.cnblogs; /* * 本类用于测试成员变量 */ public class TestMemberVar { //成员变量:类中,方法外定义 String name = "柒";//实例变量 static int age = 21;//类变量 public static void main(String[] args) { // System.out.println(name);//实例变量在静态方法中不可以直接调用 System.out.println(age);//类变量可以在任何方法中直接调用 结果-->21 //实例化一个a对象 TestMemberVar a = new TestMemberVar(); a.testVar();// 结果 -->柒 21 a.age = 99; a.name = "张三"; a.testVar();// 结果 -->张三 99 //实例化一个b对象 TestMemberVar b = new TestMemberVar(); b.testVar();// 结果 -->柒(实例变量只改变对象自身的值,所以a对象的name改变,不影响对象b的name变量) 99(类变量是针对所有对象的,所以a改变age,b的age也改变) } public void testVar() { System.out.println(name);//实例变量在非静态方法中可以直接调用 System.out.println(age);//类变量可以在任何方法中直接调用 } }
成员变量可以不自行初始化,系统会自动对其进行默认初始化,布尔值默认值为 false ,除了基本数据类型,其余的默认值都是null。
package com.cnblogs; /* * 本类用于测试成员变量 */ public class TestMemberVar { //成员变量:类中,方法外定义 String name;//实例变量 static int age;//类变量 public static void main(String[] args) { System.out.println(age);//结果为 0 TestMemberVar a = new TestMemberVar(); a.test();//结果为null } public void test() { System.out.println(name); } }
局部变量
成员变量需要自行初始化值
package com.cnblogs; /* * 本类用于测试局部变量 */ public class TestPartVar { public static void main(String[] args) { //定义局部变量 // int num; // System.out.println(num);//这里会提示错误The local variable num may not have been initialized(局部变量num可能尚未初始化) //所以局部变量必须自行初始化值 int num1 = 0; System.out.println(num1);//结果为0 } }
java的局部变量和成员变量是可以重名的,局部变量会覆盖成员变量的值。
package com.cnblogs; /* * 本类用于测试局部变量 */ public class TestPartVar { //定义成员变量 int num = 99;//实例变量 static int num2 = 9;//类变量 public static void main(String[] args) { //定义局部变量 int num = 88; int num2 = 8; System.out.println(num);// 结果为88 System.out.println(num2);// 结果为8 TestPartVar a = new TestPartVar(); a.test();// 结果为66 6 } public void test() { //定义局部变量 int num = 66; System.out.println(num); int num2 = 6; System.out.println(num2); } }
这篇关于Java的成员变量和局部变量的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器
- 2024-11-26Java云原生资料:新手入门教程与实战指南
- 2024-11-26JAVA云原生资料入门教程
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程