Java中成员变量和局部变量区别

在类中的位置不同 重点

成员变量:类中,方法外

局部变量:方法中或者方法声明上(形式参数)

作用范围不一样 重点

成员变量:类中

局部变量:方法中

初始化值的不同 重点

成员变量:有默认值

局部变量:没有默认值。必须先定义,赋值,最后使用

在内存中的位置不同 了解

成员变量:堆内存

局部变量:栈内存

生命周期不同 了解

成员变量:随着对象的创建而存在,随着对象的消失而消失

局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

原文地址:https://www.cnblogs.com/libinhong/p/10988834.html

时间: 2024-10-11 13:12:27

Java中成员变量和局部变量区别的相关文章

Java中成员变量和局部变量的区别

java面向对象过程中,最基本的两类变量就是成员变量和局部变量 成员变量是写在类中并且写在方法外部,一般写在每个类的头部,用于初始化或者方法操作,作用域是整个类被实例化到被销毁,中间变量都可以被外部方法(权限为public时)或者内部方法所共享使用,并且可以保持变量的值,就是多个方法可以复用该变量,成员变量一般要加权限修饰符,并且定义成员变量的时候系统会给初始值0 而局部变量作用域只在方法内部,当方法调用完毕,该变量也自动消失,并且只有方法本身可以使用,其他方法或类都不能使用该变量,也就是方法本

java中成员变量和局部变量在内存中的分配

对于成员变量和局部变量:成员变量就是方法外部,类的内部定义的变量:局部变量就是方法或语句块内部定义的变量.局部变量必须初始化. 形式参数是局部变量,局部变量中基础数据类型的引用和值都存储在栈中,对象引用存在栈中,对象存在堆中.栈内存中的局部变量随着方法的消失而消失. 成员变量存储在堆中的对象里面,由垃圾回收器负责回收. 如以下代码: class BirthDate { private int day; private int month; private int year; public Bir

Java中成员变量、局部变量、局部内部类、局部内部类方法作用域问题。

public class A { String s = "outer class member variable"; //成员变量 public void Method() { //成员方法 final String s1 = "inner class variable"; //局部变量 class InnerClass { //局部内部类 public void innerMethod() { //局部内部类方法 int test = 20; System.out

java中成员变量、代码块、构造函数执行顺序

1.java虚拟机运行程序,首先需要装载类,安装现装载父类,初始化父类的静态代码块和静态成员变量 再load子类.初始化子类静态代码块和成员变量 2.load完毕父类与子类后,从main函数入口执行程序,先输出,接着new实例化Beetle类,则先实例化父类Insect,实例化父类时,先初始化非静态成员变量和非静态代码块,接着执行父类构造方法 再实例化子类,实例化子类时,先初始化非静态成员变量和非静态代码块,接着执行子类构造方法. package it.xiangnan.test; public

谈谈java中成员变量与成员方法继承的问题

谈谈java中成员变量与成员方法继承的问题 关于成员变量和成员方法的的继承问题,我也可以做一个小测试,来看看结果. 首先我们先创建一个父类: 其次再创建一个子类,子类中要比父类中少一个成员方法: 这样我们对子类创建对象,如果不创建对象,我们是无法访问子类的成员变量和成员方法的,因为“无法从静态上下文中引用非静态方法”.我们要输出有: 从以上的数据中,我们就可以得出的输出结果是 这样我们就可以得出结论. 总结: 1.   在结果中可以看出,子类的成员变量和成员方法,与其父类的相同的时候,子类就会覆

Java基础——成员变量、局部变量和静态变量的区别

之前在刚开始学习Java的时候,就谈了谈Java基础中的变量,虽然知道这货以后会经常用到,但没想到了基本语法这里,竟然有冒出来了成员变量.局部变量和静态变量.变来变去太容易让人搞晕了,挑拣出来梳理一下喽! 要想区分这哥仨,首先,我们得知道它们分别是什么.先从成员变量下刀. 成员变量 我们来研究一个事物: 属性:外在特征:例如人的身高,体重 行为:能够做什么:例如人有说话,打球等行为. 而在Java语言中,最基本的单位是类,类就是用来体现事物的. 用类class来描述事物也是如此: 属性:对应类中

java类与对象_成员变量和局部变量区别

成员变量和局部变量:1.成员变量:再类中定义,用来描述对象将要有什么.2.局部变量:在类的方法中定义,在方法中临时保存数据.区别:1.作用域不同:  局部:仅限于定义它的方法  成员:整个类中都是可见的2.初始值不同的  局部:Java不会给局部变量赋予初始值  成员:Java给成员变量赋予初始值,03在同一个方法中不允许有同名的局部变量:不同的方法中可以有同名的局部变量4.两类变量同名时,局部变量有更高的优先级(就近原则)

java 线程---成员变量与局部变量

关于成员变量与局部变量: 如果一个变量是成员变量,那么多个线程对同一个对象的成员变量进行操作时,他们对该成员变量是彼此影响的(也就是说一个线程对成员变量的改变会影响到另一个线程) . 如果一个变量是局部变量,那么每个线程都会有一个该局部变量的拷贝,一个线程对该局部变量的改变不会影响到其他的线程. 实例: Servlet容器为了响应多个用户同时访问一个Servlet的HTTP请求,通常会为每个请求分配一个工作线程,这些工作线程并发执行同一个Servlet(即Servlet是单实例的)的servic

成员变量与局部变量区别

成员变量:作为类的成员而存在,直接存在于类中.所有类的成员变量可以通过this来引用. class A { int a;//成员变量 public static void main(String[] args) { this.a=3;} } 局部变量:作为方法或语句块的成员而存在,存在于方法的参数列表和方法定义中. public void change1(int i){ i = 1234; }  区别: 成员变量可以被 public,protect,private,static等修饰符修饰 局部