首页 > 其他分享 >成员变量和局部变量的区别

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

时间:2024-08-01 11:50:58浏览次数:16  
标签:String 区别 成员 局部变量 name Student 变量

成员变量

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

  • 在类中的位置不同

        成员变量:在类中方法外
        局部变量:在方法定义中或者方法声明上

  • 在内存中的位置不同

        成员变量:在堆内存
        局部变量:在栈内存

  • 生命周期不同

        成员变量:随着对象的创建而存在,随着对象的消失而消失
        局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

  • 初始化值不同

    ​ 成员变量:有默认初始化值

        局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。

  注意事项:: 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。

 1 public class MyTest2 {
 2     public static void main(String[] args) {
 3         Student student = new Student();
 4         student.show("王五");
 5     }
 6 }
 7 class Student {
 8     // 成员变量
 9     String name="张三";  
10                     //局部变量
11     public void show(String name) {
12         //当成员变量和局部变量重名时,那么访问变量的规则就遵从就近原则
13         //就近原则:先从局部范围找,找个变量,找到就使用,如果找不到,去成员位置找,找到就成员
14          System.out.println(name);//王五
15         System.out.println(this.name);//张三
16     }
17 }

标签:String,区别,成员,局部变量,name,Student,变量
From: https://www.cnblogs.com/luoyiwen123/p/18336371

相关文章

  • 单例设计模式的懒汉式和饿汉式以及它们的区别
    单例模式:也叫单子模式,属于“创建模式”一个类只有一个实例,并且自行实例化并向整个系统提供这个实例,这个类称为单例类。单例类一个最重要的特点:类的构造方法是私有的。何时使用:系统全局有且只有一个实例。单例模式的懒汉式:publicclassSingle{//需要将变量定义成......
  • String的equals方法的实现原理以及==跟equals的区别
    publicclassStringTest05{publicstaticvoidmain(String[]args){Strings1="hello";Strings2=newString("hello");System.out.println(s1==s2);System.out.println(s1.equals(s2));}}此代码......
  • 信步漫谈之JDK——环境变量配置
    Windows上配置JDK环境变量安装jdk(以jdk1.6.0_45为例)计算机→属性→高级系统设置→高级→环境变量新建JAVA_HOME变量:C:\ProgramFiles(x86)\Java\jdk1.6.0_45编辑Path变量,末尾添加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;新建CLASSPATH变量:.;%JAVA_HOME%\lib;%JAVA_......
  • Http发送Post请求 form-data 和 application/x-www-form-urlencoded 区别
    在HTTP协议中,使用POST请求时,可以通过不同的方式发送表单数据。form-data 和 application/x-www-form-urlencoded是两种常见的编码方式,它们在发送数据时有一些关键的区别:application/x-www-form-urlencoded编码方式:以键值对的形式进行编码,每个键值对之间用&符号连接,每个键和值......
  • NIO、BIO、AIO区别
    BIO全称Block-IO是一种同步且阻塞的通信模式。是一个比较传统的通信方式,模式简单,使用方便。但并发处理能力低,通信耗时,依赖网速。JavaNIO,全程Non-BlockIO,是JavaSE1.4版以后,针对网络传输效能优化的新功能。是一种非阻塞同步的通信模式。NIO与原来的I/O有同样的作用......
  • ISO26262 Part 3 之 Occurrence与Frequency的区别
    针对风险R,可以描述为一个包含三个参数的函数F:危害事件发生频率f,可控性C,以及所产生伤害或损坏的潜在严重度S:R=F(f,C,S)其中f受两个因素影响:一个因素是以何种频率、多长时间暴露在危害事件的运行场景中;简化成运行场景发生概率的度量E另外一个因素是相关项中故障......
  • MySQL 中 Varchar(50) 和 varchar(500) 有什么区别?
    问题我们在设计表结构的时候,设计规范里面有一条如下规则:对于可变长度的字段,在满足条件的前提下,尽可能使用较短的变长字段长度。为什么这么规定,主要基于两个方面基于存储空间的考虑基于性能的考虑网上说Varchar(50)和varchar(500)存储空间上是一样的,真的是这样吗?基于性......
  • 变量
    在Java中,变量是存储数据值的容器。每个变量都有一个类型,该类型决定了变量可以存储什么类型的数据(如整数、小数、字符、布尔值等)以及可以进行的操作。变量的名称(也称为标识符)用于在程序中引用变量。Java中的变量声明必须遵循以下规则:声明变量:在Java中,你需要先声明变量,然后才能使......
  • 如何在类变量中记录每个实例的属性,同时让父类在同一个变量中记录所有类的实例?
    您好,希望有人可以帮助我,我对此很陌生,所以不确定我是否遗漏了一些明显的东西。我有一个Food类,然后是每个食物类别的子类。我希望有一个字典作为每个类中的变量,它记录该类的每个实例的属性。\目前我正在尝试获取实例名称和价格。因此,最好子类中的每个字典都保存该类实例的名......
  • 仅适用于 Discord.py 中一个用户 ID 的变量
    因此,我试图在某人执行“/logstart”和“/logstop”时为他们创建一个秒表,但我希望多个人能够在不受干扰的情况下启动和停止自己的秒表。@bot.command(name='logstart')asyncdeflogstart(ctx,arg1):awaitctx.message.delete()awaitctx.send('LoghasStarted')......