成员变量与局部变量的区别
成员变量与局部变量的区别
1、在类中的位置不同
成员变量:在类中方法外面
局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中)
2、在内存中的位置不同,可以看看Java程序内存的简单分析
3、生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用或者代码块的执行而存在,随着方法的调用完毕或者代码块的执行完毕而消失
4、初始值
成员变量:有默认初始值
局部变量:没有默认初始值,使用之前需要赋值,否则编译器会报错(The local variable xxx may not have been initialized)
package demo;public class VariableDemo {String name = "成员变量";public static void main(String[] args) {new VariableDemo().show();}public void show() {String name = "局部变量";System.out.println(name);}
}
输出结果:局部变量
我们看到输出的是show方法中定义的name变量,在使用变量时遵循的原则是就近原则,那么如何访问到成员变量name呢,Java中提供了this(表示调用对象本身)这个关键字用于访问成员变量。
package demo;public class VariableDemo {String name = "成员变量";public static void main(String[] args) {new VariableDemo().show();}public void show() {String name = "局部变量";System.out.println(this.name);}
}
输出结果:成员变量
本文转载自:https://www.cnblogs.com/huangminwen/p/5935130.html
成员变量与局部变量的区别相关推荐
- Java成员变量和局部变量的区别
package com.zhangxueliang.demo;import org.junit.Test;/** 成员变量和局部变量的区别:* A:在类中的位置不同* 成员变量:类中,方法外* 局部变 ...
- Java类定义、成员变量定义、方法定义、成员变量与局部变量的区别
编程语言的三大发展阶段:面向机器语言.面向过程语言.面向对象语言 : 其中面向对象语言主要体现三个特征:封装性.继承.动态 : 类的定义:类声明和类体.基本格式如下: class 类名{ 类体 ...
- 7 面向对象(成员变量和局部变量的区别,类作为形式参数的问题,匿名对象,封装,private关键字,this关键字,构造方法,类的初始化过程,static关键字)
1:成员变量和局部变量的区别(理解) (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)在内存中的位置不同 成员变量:在堆中 局部变量:在栈中 (3)生命周期不同 ...
- JAVA 成员变量与局部变量的区别
public class ObjectOrientend5 {int x;//为成员变量,紧跟着类public void show(int a){int y = 0;//这里的a,y都是在方法中,故都 ...
- 【笔记】Java中使用变量的规则(使用变量,遵循就近原则)、成员变量和局部变量的区别
文章目录 一.使用变量的规则 二.成员变量和局部变量的区别 一.使用变量的规则 最终输出的是"小黑正在努力学习" 使用变量,遵循就近原则 例:将上述代码敲一遍 Student部分 ...
- Java学习笔记day14(两个引用指向同一对象内存图解、成员变量和局部变量的区别、private关键字、this关键字、构造方法的特点、面向对象标准汽车类练习)
*1.两个引用指向同一对象内存: * 例子:Phone.java与Phone_Test.java /** 手机类:* 成员变量:品牌,价格,颜色...* 成员方法:打电话,发短信.. ...
- java中的成员变量和局部变量的区别_java中成员变量与局部变量区别分析
本文实例分析了java中成员变量与局部变量区别.分享给大家供大家参考.具体分析如下: 成员变量:在这个类里定义的私有变量,属于这个类. 创建以及使用成员变量 public class Person { ...
- Java基础--成员变量和局部变量(区别、重名问题)
成员变量和局部变量 注:所有的变量没有赋值是不能使用的!!! 两者的区别:定义的位置不同:成员变量:定义在类中成员位置的变量,称为实例变量 / 类变量,在类中方法外局部变量:定义在类中方法中作用范围不 ...
- Java面向对象思想、类的定义、对象的使用、对象内存图、成员变量和局部变量的区别、封装、private关键字、this关键字、构造方法、JavaBean-day06
目录 第1节 面向对象思想 1.1 面向对象思想概述 概述 举例 特点 1.2 类和对象 什么是对象 类与对象的关系 1.3 类的定义 事物与类的对比 类的定义格式 1.4 对象的使用 对象的使用格式 ...
最新文章
- [Everyday Mathematics]20150222
- SQL优化万能公式:5 大步骤 + 10 个案例
- 【数学和算法】如何理解特征值为复数的情况
- 如何用计算机输入数学公式,使用Win7输入面板让数学公式输入更轻松
- php7 安装zendopcache,安装PHP加速插件ZendOpcache
- php读程序,PHP 读取大文件程序代码
- windows改变php版本
- 一台计算机只能安装一块网络接口卡,为什么用路由上网,只有一台电脑可以上去?...
- Java核心类库篇2——lang
- 漫画:7种编程语言的学习曲线
- Python的基本编码规范
- C1083: 无法打开包括文件: “opencv2/opencv.hpp”: No such file or directory
- 使用微软Monaco Editor 编写代码比对工具
- 4X99神将X国逆向工程实战
- 什么是DIMM插槽?
- python spss modeler 比较_非常值得收藏的 IBM SPSS Modeler 算法简介
- Topic modeling made just simple enough
- java 中的惰性初始化_java惰性初始化
- 1.16 常用电平标准(TTL、CMOS、LVTTL、LVCMOS、ECL、PECL、LVPECL)
- 完美解决 bash: /dev/fd/63: No such file or directory
热门文章
- 走迷宫问题 算法竞赛入门经典
- 我搭建Wiki网站的步骤
- 《Algorithms》常见排序算法比较
- 12.5 防止死锁的加锁机制
- 软件_mongo占用磁盘空间过大
- ubuntu环境变量相关文件/etc/profile,/etc/bash.bashrc,~/.profile,~/.bashrc区别
- c语言 乘号 指针 避免,C语言指针篇(一)指针与指针变量
- linux 脚本中的push,在Linux系统下实现ServerPush(转)
- html地图动画效果图,【html】绚丽的HTML5地图分布动画DEMO演示
- linux整行剪切_云计算人员如何提高效率 要掌握哪些Linux命令