一、局部变量

存在某个方法中的变量就叫局部变量,局部变量一旦声明就必须赋值 否则不能使用

代码如下:

class Person
{
String name;
char sex;
int age;
public void eat(){
int num = 10;//不进行赋值是在方法体内不能用的 编译的时候就会报错 尚未初始化变量
System.out.println(num+"吃");
}
public void sleep(){
System.out.println("睡觉");
}
}

二、成员变量

存在某个类中的并且类方法外就叫成员变量。成员变量可以在类中的任何地方访问

局部变量和成员变量的名字可以重名  当二个作用范围重叠时 取就近原则

代码如下:

class Person
{
String name;
char sex;
int age;
public void eat(){
int num = 10;//不进行赋值是在方法体内不能用的
System.out.println(num+"吃");//如果这个地方使用时跟成员变量重名时  使用就近原则 此时num的值是10
}
public void sleep(){
System.out.println("睡觉");
}
}

三、二者的区别

1.所处的代码的位置不同
2.作用域不同
3.局部变量没有默认的初始值 而成员变量有默认的初始值
4.生命周期不同

局部变量:当方法调用完毕时局部变量就被销毁了时间比较短

成员变量:当对象消失时成员变量就销毁生命周期比较长

java的局部变量和成员变量以及区别的更多相关文章

  1. 《java中局部变量和成员变量的区别》

    class Car { String color; int number; void run() { System.out.println(color+"::"+number); ...

  2. JAVA中局部变量 和 成员变量有哪些区别

    JAVA中局部变量 和 成员变量有哪些区别 1.定义的位置不一样<重点>***局部变量:在方法的内部成员变量:在方法的外部,直接写在类当中 2.作用范围不一样<重点>***局部 ...

  3. JAVA局部变量和成员变量的区别

    成员变量与局部变量的区别 1.在类中的位置不同 成员变量:在类中方法外面 局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中) 2.在内存中的位置不同 成员变量:在堆中(方法区中的静态区) ...

  4. java中局部变量和成员变量主要是他们作用域的区别

    成员变量个是类内部:局部变量是定义其的方法体内部(或者方法体内部的某一程序块内——大括号,主要看定义的位置).另外,成员变量可以不显式初始化,它们可以由系统设定默认值:局部变量没有默认值,所以必须设定 ...

  5. JAVA_SE基础——26.[深入解析]局部变量与成员变量的区别

    黑马程序员入学blog ... 如果这章节很难懂的话应该返回去先看  JAVA_SE基础--10.变量的作用域 定义的位置上区别: 1. 成员变量是定义在方法之外,类之内的. 2. 局部变量是定义在方 ...

  6. Java 的局部变量和成员变量

    在Java语言中没有全局变量  分析各种变量的作用域的最简单方法是以花括号为界, 1.在类体中定义的是成员变量,成员变量会被默认初始化 2.在方法中定义的是局部变量,局部变量不会被默认初始化

  7. 类变量方法,局部变量和成员变量的区别(this关键字的使用)

    变量名首写字母使用小写,如果由多个单词组成,从第2个单词开始的其他单词的首写字母使用大写. 如果局部变量的名字和成员变量的名字相同, 要想在该方法中使用成员变量,必须使用关键字this class P ...

  8. java 局部变量与成员成员变量的区别

    package java04; /* 局部变量和成员变量的不同: 1.定义的位置不一样 局部变量:定义在方法内部 成员变量:在方法外部,直接写在类中 2.作用范围不一样 局部变量:只有方法中能使用,除 ...

  9. java类(Class)的概念;对象的概念,声明类的属性 和方法,局部变量和成员变量,面向对象编程思维,抽象的概念

    类(Class)的概念 类是对一组具有相同特征和行为的对象的抽象描述. 理解: [1] 类包含了两个要素:特性和行为 => 同一类事物具有相同的特征和行为. [2] 类是一个群体性概念.例如:网 ...

随机推荐

  1. jquery简单使用入门

    <!DOCTYPE html> <html> <head> <title>jquery</title> <meta charset=& ...

  2. (二)远程代理Remoting/RealProxy

    使用.Net Remoting/RealProxy 采用TransparentProxy和RealProxy实现对象的代理,实现思路如下:Client -TransparentProxy - Real ...

  3. Light OJ 1020

    简单推理题: #include<bits/stdc++.h> using namespace std; int main() { int T, n; string Name; cin &g ...

  4. VBS学习

    简介 VBS windows脚本 Microsoft visual basic script editionVBS 是visual basic的一个抽象子集,系统内置,不编译为二进制文件,(由host ...

  5. ASP.NET的路由系统:路由映射

    总的来说,我们可以通过RouteTable的静态属性Routes得到一个基于应用的全局路由表,通过上面的介绍我们知道这是一个类型的RouteCollection的集合对象,我们可以通过调用它的MapP ...

  6. Swift 学习- 05 -- 集合类型

    // 集合类型 // swift 提供 Arrays , Sets 和 Dictionaries 三种基本的集合类型用来存储数据 , 数组(Arrays) 是有序数据的集, 集合(Sets)是无序无重 ...

  7. Confluence 6 配置文件和key

    找到配置文件 缓存的配置文件是存储在 <confluence-home>/shared-home/config/cache-settings-overrides.properties 中的 ...

  8. Confluence 6 使用 Apache 的 mod_jk

      在 Confluence 6 及其后续版本中,不能使用 mod_jk 来做代理.这是因为 Synchrony 服务导致的这个限制. Synchrony 在协同编辑的时候需要启动,同时还不能接受 A ...

  9. Java编程的分期步骤(一)

    日期:2018.8.12 星期一 博客期:005 不知不觉来到第五期了,先简单说一下Java环境!(虽然Java都自学完了才说....)首先,就是在网站上下载一个java包,之后把它下载到全英文的一个 ...

  10. SpringCloud路由(网关)

    springcloud网关接口就类似于转发 搭建路由网关项目(ZuulDemo) 1.创建pom.xml <project xmlns="http://maven.apache.org ...