成员变量与局部变量

  初始值 作用域 优先级
成员变量 java会给成员变量一个初始值 受访问控制修饰符影响作用域不同 成员变量与局部变量同名时,优先使用局部变量
局部变量 java不会给局部变量赋初始值 方法内,代码块作用域

初始值比较:

 1 public class Var {
 2     private static int var1;// 成员变量
 3
 4     public void method() {
 5         int var2;// 局部变量
 6         System.out.println(var1);// 编译通过,成员变量初始值
 7         // System.out.println(var2);
 8                 //无法通过编译,局部变量没有给定值需要赋值才能调用
 9     }
10 }

初始值比较

作用域比较:访问控制修饰符详解

 1 public class Var {
 2     private static int var1;// 成员变量,作用域受访问控制修饰符影响
 3
 4     public void method1() {
 5         int m = 0;// m的作用域为method1这个方法中
 6         for (int i = 0; i < 10; i++) {
 7             // i的作用域为for循环代码块中
 8             System.out.println(m + " " + i);// 编译通过
 9         }
10         // System.out.println(m + " " + i);
11         // 不能通过编译,超出i的 作用域
12     }
13 }

作用域比较

优先级比较:

1 public class Var {
2     private static int var;
3     public Var(int var) {
4         System.out.println(var);
5                 // 输出的值为参数var的值而不是成员变量var
6         // 调用成员变量使用this关键字
7         this.var = var;
8     }
9 }

优先级比较

时间: 2024-11-07 17:53:29

成员变量与局部变量的相关文章

成员变量和局部变量

成员变量和局部变量 1.变量声明的位置决定变量作用域 2.变量作用域确定可在程序中按变量名访问该变量的区域 3.成员变量:定义在类中的变量(类或其他类中可以调用) 4.局部变量:定义在方法中的变量(方法) 5.区别:a.作用域不同 局部变量的作用域仅限于定义它的方法 成员变量的作用域在整个类内部都是可见的 b.初始值不同 Java会给成员变量一个初始值 Java不会给局部变量赋予初始值 6.在同个方法中,不允许有同名局部变量 ,在不同方法中,可以有同名的局部变量, 在同个类中,成员变量和局部变量

java 线程---成员变量与局部变量

关于成员变量与局部变量: 如果一个变量是成员变量,那么多个线程对同一个对象的成员变量进行操作时,他们对该成员变量是彼此影响的(也就是说一个线程对成员变量的改变会影响到另一个线程) . 如果一个变量是局部变量,那么每个线程都会有一个该局部变量的拷贝,一个线程对该局部变量的改变不会影响到其他的线程. 实例: Servlet容器为了响应多个用户同时访问一个Servlet的HTTP请求,通常会为每个请求分配一个工作线程,这些工作线程并发执行同一个Servlet(即Servlet是单实例的)的servic

Java基础——成员变量、局部变量和静态变量的区别

之前在刚开始学习Java的时候,就谈了谈Java基础中的变量,虽然知道这货以后会经常用到,但没想到了基本语法这里,竟然有冒出来了成员变量.局部变量和静态变量.变来变去太容易让人搞晕了,挑拣出来梳理一下喽! 要想区分这哥仨,首先,我们得知道它们分别是什么.先从成员变量下刀. 成员变量 我们来研究一个事物: 属性:外在特征:例如人的身高,体重 行为:能够做什么:例如人有说话,打球等行为. 而在Java语言中,最基本的单位是类,类就是用来体现事物的. 用类class来描述事物也是如此: 属性:对应类中

成员变量与局部变量区别

成员变量:作为类的成员而存在,直接存在于类中.所有类的成员变量可以通过this来引用. class A { int a;//成员变量 public static void main(String[] args) { this.a=3;} } 局部变量:作为方法或语句块的成员而存在,存在于方法的参数列表和方法定义中. public void change1(int i){ i = 1234; }  区别: 成员变量可以被 public,protect,private,static等修饰符修饰 局部

【java基础】成员变量和局部变量02

成员变量和局部变量(2) 成员变量的初始化和内存中的运行机制         当系统加载类或者创建类的实例的时候,系统会自动为成员变量分配内存空间,并自动指定初始值. package object; public class Person { //定义一个静态的变量 public static String city; //定义一个非静态的变量 public String name; public static void main(String[] args) { /*当person类加载的时候

[Java入门笔记] 面向对象编程基础(三):成员变量和局部变量

在类中,变量根据定义的位置不同,可以分为成员变量和局部变量. 成员变量是在类体内,方法之外定义的变量,局部变量是在方法中定义的参数. 成员变量 成员变量分为类属性和实例属性,定义时没有static修饰的称为实例属性,有static修饰的称为类属性,类属性和实例属性的区别就是类属性是属于类的,它并不属于哪一个对象,它从这个类的准备阶段就一直存在,一直到这个类完全销毁.实例属性属于对象,只有某个对象被创建时,它才被创建,对象被回收,从属于该对象的实例属性也就被销毁了. 类属性的定义语法: [修饰符]

成员变量和局部变量 成员变量和局部变量

1.变量声明的位置决定变量作用域 2.变量作用域确定可在程序中按变量名访问该变量的区域 3.成员变量:定义在类中的变量(类或其他类中可以调用) 4.局部变量:定义在方法中的变量(方法) 5.区别:a.作用域不同 局部变量的作用域仅限于定义它的方法 成员变量的作用域在整个类内部都是可见的 b.初始值不同 Java会给成员变量一个初始值 Java不会给局部变量赋予初始值 6.在同个方法中,不允许有同名局部变量 ,在不同方法中,可以有同名的局部变量, 在同个类中,成员变量和局部变量同名时,局部变量具有

数组 面向对象 成员变量和局部变量额区别

一.数组 1.数组中常见的错误: 1.NullPointerExcepation : 空指针异常 原因:引用的类型变量没有指向任何的对象,在这种情况下还访问了它的属性和方法. 一个对象如果使用完了不会立马释放,只是将这个对象变为一个垃圾对象,由垃圾回收机制自己来释放.,我们没办法操作它释放. 2.ArrayIndexOutOfBoundsExcepation :数组下表越界. 二.面向对象 1.java也属于面向对象编程 : 2.面向对象的三大特征 : 封装,继承,多态.类,对象. 3.对象 :

【java基础】成员变量和局部变量

成员变量和局部变量 根据定义变量位置的不同,可以将变量分为成员变量和局部变量        成员变量是在类范围内定义的变量        局部变量是在一个方法内定义的变量   成员变量可以分为:        实例属性 (不用static修饰)               随着实例属性的存在而存在       类属性 (static修饰)               随着类的存在而存在   成员变量无需显式初始化,系统会自动对其进行默认初始化   局部变量可分为:        形参(形式参数)