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中局部变量和成员变量的区别》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. apk瘦身(包大小优化)

    最近太忙好久没有写随笔,放假才有空写写随笔. 最近在项目中一直在做包大小优化 随着业务需求的增加,包大小是忍不住的往上涨 为了提高应用市场下载转化率,一直在优化包大小 首先 分析你的apk中占比的主要 ...

  2. 资源 之 4.4 Resource通配符路径(拾贰)

    4.4.1  使用路径通配符加载Resource 前面介绍的资源路径都是非常简单的一个路径匹配一个资源,Spring还提供了一种更强大的Ant模式通配符匹配,从能一个路径匹配一批资源. Ant路径通配 ...

  3. C#程序以管理员权限运行【我采用了第二种,比较好用】

    在Vista 和 Windows 7 及更新版本的操作系统,增加了 UAC(用户账户控制) 的安全机制,如果 UAC 被打开,用户即使以管理员权限登录,其应用程序默认情况下也无法对系统目录.系统注册表 ...

  4. java复用和传参

    java复用和传参的三种方法总结: (1) 直接在一个类中调用函数 : 1 package test1; 2 3 public class a 4 { 5 public static void get ...

  5. 二级菜单jquery

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 联系 管理 Hibernate4+Spring JPA+SpringMVC+Volecity搭建web应用(三)

    hibernate注解实体类示例 package cn.bdqn.smvc.entity; import java.io.Serializable; import javax.persistence. ...

  7. Linux服务器下用svn创建多个项目

    (1): 创建svn仓库路径        mkdir  -p  /opt/svn/project1        mkdir -p   /opt/svn/project2        svnadm ...

  8. hdu----149850 years, 50 colors(最小覆盖点)

    50 years, 50 colors Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  9. 转 数据库中的 date datetime timestamp的区别

    转 数据库中的 date datetime timestamp的区别 DATETIME, DATE和TIMESTAMP类型是相关的.本文描述他们的特征,他们是如何类似的而又不同的. DATETIME类 ...

  10. 服务订单SO创建

    FUNCTION Z_SD_SALESORDER_CREATE. *"------------------------------------------------------------ ...