学习笔记,仅供参考


文章目录

  • 面向对象
    • 局部变量与成员变量的区别
    • 来几个例子
    • 注意事项

面向对象

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

  • 在类中的位置不同

    • 成员变量:在类中方法外
    • 局部变量:在方法定义中或者方法声明上
  • 在内存中的位置不同
    • 成员变量:在堆内存(成员变量属于对象,对象进堆内存)
    • 局部变量:在栈内存(局部变量属于方法,方法进栈内存)
  • 生命周期不同
    • 成员变量:随着对象的创建而存在,随着对象的消失而消失
    • 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
  • 初始化值不同
    • 成员变量:有默认初始化值
    • 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。

来几个例子

  • 举个例子1(成员变量有默认初始化值,而局部变量没有)
class BunnyTest {public static void main(String[] args) {System.out.println("YES!");Bunny b1 = new Bunny();b1.eating(10);}}class Bunny {String name;                                //成员变量public void eating(int num) {               //局部变量String food = "胡萝卜";                 //局部变量System.out.println(name + "爱吃" + num + "根" + food);}
}

输出:

YES!
null爱吃10根胡萝卜
  • 举个例子2(就近原则)
class BunnyTest {public static void main(String[] args) {System.out.println("YES!");Bunny b1 = new Bunny();b1.eating();}}class Bunny {String name;String food;    //存储在堆内存中public void eating() {String food = "胡萝卜";   //存储在栈内存中System.out.println(name + "爱吃" + food); //根据就近原则,选择方法内的局部变量food}
}

输出:

YES!
null爱吃胡萝卜

注意事项

  • 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
  • 基本数据类型变量包括:byte,short,int,long,float,double,boolean,char
  • 引用数据类型变量包括:数组,类,接口,枚举

第三次学JAVA再学不好就吃翔(part21)--局部变量与成员变量相关推荐

  1. 第三次学JAVA再学不好就吃翔(part107)--字符流的拷贝

    学习笔记,仅供参考,有错必纠 文章目录 IO流 字符流的拷贝 拷贝纯文本文件 注意事项 自定义字符数组的拷贝 IO流 字符流的拷贝 拷贝纯文本文件 zzz.txt: 安徽财经大学 JAVA代码: pa ...

  2. 第三次学JAVA再学不好就吃翔(part115)--多线程

    学习笔记,仅供参考,有错必纠 文章目录 多线程 多线程引入 什么是线程 多线程并行和并发的区别 Java程序运行原理 多线程的实现方式 多线程实现的方式1 多线程程序实现的方式2 以上两种实现方式的区 ...

  3. 第三次学JAVA再学不好就吃翔(part37)--接口概述

    学习笔记,仅供参考 文章目录 面向对象 接口 接口的概述及其特点 接口的成员特点 面向对象 接口 接口的概述及其特点 接口的概述 从狭义的角度讲就是指java中的interface 从广义的角度讲,对 ...

  4. 第三次学JAVA再学不好就吃翔(part31)--super关键字

    学习笔记,仅供参考 文章目录 面向对象 继承 继承中成员变量的关系 this和super的区别 继承中构造方法的关系 继承中构造方法的注意事项 继承中的成员方法关系 面向对象 继承 继承中成员变量的关 ...

  5. 第三次学JAVA再学不好就吃翔(part36)--抽象类

    学习笔记,仅供参考 文章目录 面向对象 抽象类 抽象类的概述 抽象类的成员特点 面向对象 抽象类 抽象类的概述 抽象类的概述 抽象就是看不懂的 抽象的特点 抽象类和抽象方法必须用abstract关键字 ...

  6. 第三次学JAVA再学不好就吃翔(part34)--多态的成员访问

    学习笔记,仅供参考 文章目录 面向对象 多态 多态概述 多态的成员访问 成员变量 成员方法 静态成员方法 面向对象 多态 多态概述 多态的概述 事物存在的多种形态 多态实现的前提 要有继承关系 要有方 ...

  7. 第三次学JAVA再学不好就吃翔(part33)--final关键字

    学习笔记,仅供参考 文章目录 面向对象 final关键字 final关键字修饰类,方法以及变量的特点 final关键字修饰局部变量 final修饰变量的初始化时机 面向对象 final关键字 fina ...

  8. 第三次学JAVA再学不好就吃翔(part30)--继承

    学习笔记,仅供参考 文章目录 面向对象 继承 先来个例子 继承的好处和弊端 Java中类的继承特点 继承的注意事项 面向对象 继承 继承(extends),让类与类之间产生关系,比如子父类关系. 先来 ...

  9. 第三次学JAVA再学不好就吃翔(part26)--static关键字

    学习笔记,仅供参考 文章目录 面向对象 static关键字 静态关键字的特点 注意事项 面向对象 static关键字 先看一个例子 class Bunny0601A {public static vo ...

最新文章

  1. 如何将当前更改提交到git中的不同分支[重复]
  2. 正则表达式 2. 单字符或
  3. boost::coroutine模块实现非对称协程的测试程序
  4. 方法入门_方法的定义
  5. 牛客练习赛 57——manacher算法 树形dp?
  6. Web应用程序体系结构– Spring MVC – AngularJs堆栈
  7. C语言多文件编程基本格式
  8. python requests 重试_我可以为requests.request设置最大重试次数吗?
  9. C#中用WMI实现对驱动的查询
  10. 安装Vuecli新版本正常,但是显示版本是低版本
  11. axios学习笔记(二):轻松弄懂XHR的使用及如何封装简易axios
  12. c++ ftp服务端_重磅干货||五万字长文总结:C/C++ 知识(下篇)
  13. 如何在 JavaScript 面试中过五关斩六将?
  14. vs 外部依赖项、附加依赖项以及如何添加依赖项目
  15. Visual Studio 2008操作技巧
  16. win7下對顯示器的電源的操作
  17. cat tee ||
  18. 【Excel VBA】一键取消excel中所有隐藏sheet
  19. React-cra项目初始化 必做操作
  20. html5手机远程控制电脑,教你怎么用手机远程控制电脑

热门文章

  1. 稀疏表达:向量、矩阵与张量(中)
  2. 利用angular4和nodejs-express构建一个简单的网站(六)—用户模块和路由分析
  3. ubuntu-基本命令篇-18-压缩包管理
  4. tomcat配置与优化
  5. 如何测量上下文切换时间
  6. hibernate实体的几种状态:
  7. CentOS7 iso封装语句
  8. Python 列表count()函数元素次数统计
  9. 解决VS2010子目录中的.cpp文件引用上一级目录的stdafx.h找不到定义的问题
  10. 访问 IIS 元数据库失败 的解决方法