《java中局部变量和成员变量的区别》
- class Car
- {
- String color;
- int number;
- void run()
- {
- System.out.println(color+"::"+number);
- }
- }
- class CarDemo
- {
- public static void main(String[] agrs)
- {
- Car c = new Car();//c是类类型的变量。
- //c.color = "blue";
- //c.number = 4;
- c.run();
- }
- }
- /*
- 类与对象的关系:
- 类:对事物的描述。需要体现属性和行为。
- 对象:该类事物创建的示例(实体),通过该对象调用具有的属性和行为。
- 成员变量和局部变量的区别:
- 区别一:定义的位置不同。
- (1)成员变量定义在类中。
- (2)局部变量定义在方法中。
- 区别二:在内存中的位置不同。
- (1)成员变量存储在堆内存的对象中。
- (2)局部变量存储在栈内存的方法中。
- 区别三:声明周期不同:
- (1)成员变量随着对象的出现而出现,随着对象的消失而消失。
- 对区别三第(1)条的解释说明:
- class Car
- {
- //事物的属性:
- String color;
- int number;
- //事物行为:
- void run()
- {
- System.out.println(color+"::"+number);
- }
- /*
- 说明:这个run方法运行的时候,调用的不是Car这个类里面定义的那个
- color和number,而是内存中的堆内存中的对象的color和number。
- */
- }
- class CarDemo
- {
- public static void main(String[] agrs)
- {
- Car c = new Car();
- c.color = "red";
- c.number = ;
- c.run();
- }
- }
- ()局部变量是随着方法的运行而出现,随着方法的弹栈而消失。
- 区别四:初始化不同:
- ()成员变量因为在堆内存中,所以有默认的初始化值。
- ()局部变量没有默认初始化值,必须初始化后才可以使用。
- /*
- 有一个问题是:Java为什么不把局部变量也初始化呢?
- 原因是一旦Java把局部变量也初始化了,此时局部变量
- 就在内存中占据空间了。Java的机制是什么时候用到了
- 局部变量,什么时候再在内存中为局部变量开辟空间。
- //如果写成如下:则当run方法进栈后,会在内存中为局部变量
- //x开辟空间。
- void show()
- {
- int x = 4;
- }
- //如果写成如下:则当run方法进栈后,不会在内存中为局部变量
- //x开辟空间。
- void show()
- {
- int x;
- }
- */
- */
《java中局部变量和成员变量的区别》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- phalcon: 视图集成(内嵌模板)
当一个网站把不同的模板分割成:头部,中间区域,底部时,我们就需要在不同的[中间区域]页面引入相同的头部跟底部.引入有2种方法, 一种是:在controller中调用: $this->view-& ...
- 十问 Linux 虚拟内存管理 (glibc) (二)
版权声明:本文由陈福荣原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/184 来源:腾云阁 https://www.qclo ...
- 【转】 STL中的set容器的一点总结
1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构 ...
- 队列中使用Database Driver
队列允许你将一个耗时的任务进行延迟处理. 首先要在.evn文件中配置 QUEUE_DRIVER=database 要使用 database 这个队列驱动的话,则需要创建一个数据表来记住任务,使用命令: ...
- Eclipse 编译错误 Access restriction: The type 'JPEGCodec' is not API (restriction on required library 'C:\Program Files\Java\jre7\lib\rt.jar')
解决方案: Project -> Properties ->Java Build Path -> libraries, 先 remove 掉 JRE ...
- ERROR 1130: Host 'root@localhost' is not allowed to connect to MySQL server
连接mysql时遇到的错误. 原因:该用户没有权限连接访问mysql数据库 解决方法:网站上搜了好多,试了都没有用.最终在登陆的信息页面用root用户登陆时不输入root密码即可.
- BluetoothAdapter.LeScanCallback 参考文档
BluetoothAdapter.LeScanCallback 参考文档 [翻译自: android开发文档] Class Overview:回调接口被用于传输LE扫描后的结果; 详情参看: ...
- hadoop分布式的环境搭建
版本: 使用hadoop1.1.2 JDK为java7 1.下载hadoop 2.配置hadoop文件 3测试 1.下载hadoop: 1.1 在https://archive.apache.o ...
- hdu------(4300)Clairewd’s message(kmp)
Clairewd’s message Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- MATLAB 生成数据保存至文件
% load pyrim % NumTrain = 50; % load machine %NumTrain = 150; % load housing % NumTrain = 300; % loa ...