局部变量

成员变量和局部变量有什么区别?

此生再无相见时 提交于 2020-03-25 15:00:34
3 月,跳不动了?>>> FAQ2.13 成员变量和局部变量有什么区别? class A { int a;// 成员变量 public static void main(String[] args) { int b;// 局部变量 } } ———————————————————————————————————————————————————————————————————————————————————————— 类体由 2 部分构成 : 一部分是变量的定义 ; 一部分是方法的定义 ( 一个类中可以有多个方法 ) 在变量定义部分定义的变量叫做类的成员变量 , 成员变量在整个类中都有效 . ( 全局变量应该是成员变量的俗称 ) 在方法体中定义的变量叫做局部变量 , 局部变量只在定义它的方法中有效 . 成员变量又分为 实例变量 和 类变量 (static 静态变量 ). class One { float x; //x 为实例变量 static int y; // 只要有关键字 static,y 为类变量 } ———————————————————————————————————————————————————————————————————————————————————————— 1. 成员变量可以被 public , protect , private , static

Java局部变量与成员变量

白昼怎懂夜的黑 提交于 2020-03-25 15:00:15
3 月,跳不动了?>>> java局部变量与成员变量: 在Java中,局部变量必须初始化;成员变量可以不用初始化,系统自动初始化。 class A { int a;//成员变量 public static void main(String[] args) { int b;//局部变量 } } 区别: 1.成员变量在类中,局部变量在方法中 2.声明成员变量时可以不初始化(被final修饰且没有static的必须显式赋值),而局部变量必须手动初始化 3.成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及static修饰;两者都可 以定义成final型 4.成员变量存储在堆,局部变量存储在栈 5.存在时间不同 类变量、实例变量、局部变量 类变量是类中独立于方法之外的变量,用static 修饰。 实例变量也是类中独立于方法之外的变量,不过没有static修饰。 局部变量是类的方法中的变量。 看下面的伪代码说明: Java代码 public class Variable{ static int allClicks=0;//类变量 String str="hello world";//实例变量 public void method(){ int i =0;//局部变量 } } 实例变量也称为:“域”,“成员变量”

成员变量和局部变量

元气小坏坏 提交于 2020-03-25 14:40:48
3 月,跳不动了?>>> 成员变量( 存在于堆内存中,和类一起创建 )和局部变量( 存在于栈内存中,当方法执行完成,让出内存,让其他方法来使用内存 )。 区别 1、在类中的位置不同 成员变量:在类中方法外面 局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中) 2、在内存中的位置不同,可以看看 Java程序内存的简单分析 成员变量:在堆中(方法区中的静态区) 局部变量:在栈中 3、生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用或者代码块的执行而存在,随着方法的调用完毕或者代码块的执行完毕而消失 4、初始值 成员变量:有默认初始值,java会给她一个初始值:基本数据类型是0,应用数据类型是null 局部变量:没有默认初始值,使用之前需要赋值,否则编译器会报错(The local variable xxx may not have been initialized) 局部变量的优先级高于成员变量 public class myTest3 { String name = "成员变量"; public static void main(String[] args) { new myTest3().show(); } public void show() { //局部变量优先级比成员变量高 String name = "局部变量";

全局变量和局部变量

六月ゝ 毕业季﹏ 提交于 2020-03-22 08:01:37
作用域 :变量的作用范围,内部作用域由局部变量,函数,形参,实参组成。 作用域链 :用途:保证执行环境中有权访问的变量和函数式有序的,作用域链的变量只能向上访问,变量访问到window对象终止,作用域链向下访问是不允许的。 局部变量 :在函数中用var声明的变量,当函数执行完毕后变量就会立即销毁。函数外部无法访问局部变量。 全局变量 :变量被声明在全局作用域下,在代码的任何位置使用这个变量。应该尽量减少全局变量的使用,会造成命名空间污染。 如何减小使用? 1.使用对象字面量的方式创建对象,将变量作为对象的属性。 2.把变量封装在闭包的内部,只暴露接口和外部通讯 var user=(function(){ var name='sevn'; var age=18; return { getUserInfo:function(){ return name+' '+age; } } })(); Javascript垃圾回收方法? 标记清除:这是所有浏览器最常用的一种垃圾回收方式,当变量进入环境(在函数在声明一个变量)时,将其标记为“进入环境”,当变量离开环境(函数执行结束)时,将其标记为离开环境。垃圾收集器会按照固定的时间间隔周期性的释放内存。 引用计数:当声明了一个变量并将一个引用类型的值赋给该变量时这个值得引用次数+1,当去掉这个引用时,引用次数-1,当引用次数为0时表明可将其内存回收

全局变量 局部变量

二次信任 提交于 2020-03-22 08:01:22
全局变量 大写 局部变量 小写 1、函数内部的变量名如果第一次出现,且出现在=前面,即被视为定义一个局部变量,不管全局域中有没有用到该变量名,函数中使用的将是局部变量,例如: num = 100 def func(): num = 123 print(num) func() #输出: 123 说明函数中定义的num是一个局部变量,会将全局变量覆盖。再例如: num = 100 def func(): num += 100 print(num) func() #输出: UnboundLocalError: local variable 'num' referenced before assignment 错误提示局部变量num在赋值前被应用,也就是该变量没有定义就使用它,由此再次证明了这里定义了一个局部变量,而不是使用的全局的num。 总结:函数内部的变量名如果第一次出现,且出现在=前面,即被视为定义一个局部变量。 Python makes educated guesses on whether variables are local or global. It assumes that any variable assigned a value in a function is local. From: https://www.tutorialspoint.com/python

成员变量与局部变量

狂风中的少年 提交于 2020-03-21 21:51:57
成员变量与局部变量 成员变量:在类体中定义的变量为成员变量,作用范围(scope)是整个类,只要在这个类中都可以访问到它。 局部变量:在一个方法或方法中的代码块(code block)中定义的变量。局部变量是在方法或代码块被执行的时候被创建,在方法或代码块结束时被销毁。局部变量在进行取值操作前必须被初始化或赋值,否则出现编译错误。 如下程序综合了变量的应用: package com.liaojianya.chapter1; /** * This program demonstrates the difference between local variables and member variables * @author LIAO JIANYA * */ public class TestLocalVar4_5 { public static void main(String[] args) { int outer = 1; { int inner = 2; System.out.println("inner = " + inner); System.out.println("outer = " + outer); } // System.out.println("inner = " + inner); int inner = 3; System.out.println(

成员局部变量

北城余情 提交于 2020-03-20 07:24:51
1.变量声明的位置决定变量作用域 2.变量作用域确定可在程序中按变量名访问该变量的区域 3.成员变量:定义在类中的变量(类或其他类中可以调用) 4.局部变量:定义在方法中的变量(方法) 5.区别:a.作用域不同 局部变量的作用域仅限于定义它的方法 成员变量的作用域在整个类内部都是可见的 b.初始值不同 Java会给成员变量一个初始值 Java不会给局部变量赋予初始值 6.在同个方法中,不允许有同名局部变量 在不同方法中,可以有同名的局部变量 在同个类中,成员变量和局部变量同名时,局部变量具有更高的优先级 来源: https://www.cnblogs.com/1396493331qq/p/6887883.html

成员变量&&局部变量

血红的双手。 提交于 2020-03-20 07:20:13
一.相同点:1.都遵循变量的声明格式:(修饰符) 数据类型 变量名=初始化值       2.都有各自的作用域 二.不同点:1.声明的位置不同 成员变量:声明在类内,方法外。 局部变量:声明在方法内、方法的形参部分、代码块内 2.成员变量的修饰符有四个:public private protected 缺省 局部变量没有修饰符,硬要说有的话,与他的所在方法的修饰符相同 3.初始化值 成员变量:在声明的时候如果没有显示的赋值,各自数据类型有自己的默认初始化值    byte short int long ==>0   float double==>0.0   char==>空格    boolean==>false    引用数据类型==>null 局部变量:必须要显示的赋值,局部变量没有默认的初始化值 4.二者在内存中的存储位置不同,局部变量存储在栈空间中,成员变量存储在堆空间中。 总结: 变量的分类:按照数据数据类型分类:基本数据类型(8种),引用数据类型 按照声明的位置不同分类:成员变量 && 局部变量 局部变量在内存中的位置说明:以方法的形参局部变量为例:见下图。 来源: https://www.cnblogs.com/yunqing/p/4764515.html

Python 函数

点点圈 提交于 2020-03-19 02:57:52
一、函数是什么?   函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法。在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method。   函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。 定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可。 特性: 代码重用 保持一致性 可扩展性 二、函数的创建 2.1 格式: Python 定义函数使用 def 关键字,一般格式如下: def 函数名(参数列表): 函数体 def hello(): print('hello') hello()#调用 2.2 函数名的命名规则 : 函数名必须以下划线或字母开头,可以包含任意字母、数字或下划线的组合。不能使用任何的标点符号; 函数名是区分大小写的。 函数名不能是保留字。 2.3 形参和实参 形参:形式参数,不是实际存在,是虚拟变量。在定义函数和函数体的时候使用形参,目的是在函数调用时接收实参(实参个数,类型应与实参一一对应) 实参:实际参数

关于内部类的剖析

◇◆丶佛笑我妖孽 提交于 2020-03-18 14:57:06
内部类根据使用不同的修饰符或者定位的位置不同,可以分为四种: ①  实例内部类:   内部类没有使用static修饰 ②  静态内部类:   内部类使用了static修饰 ③  局部内部类:   在方法中定义的内部类 ④  匿名内部类:   适合于仅使用一次的类,属于局部内部类的特殊情况 外部类的访问修饰符: 要么用public,要么缺省。 内部类看作是外部类的一个成员,好比字段,那么 内部类可以使用public/缺省/protected/private修饰 还可以是static修饰 ------------------------------------------------------------------------------ 实例内部类: 没有使用static修饰内部类,说明内部类属于外部类的对象,而不是属于外部类。 特点: 1: 创建实例内部类前,必须存在外部类对象,通过外部类对象创建内部类对象(当存在内部类对象时,一定存在外部类对象) 1 public class InstanceClass { 2 3 //创建一个内部类对象 4 Outter.Inner inner = new Outter().new Inner();//方法一 5 //创建一个内部类对象 6 Outter outter = new Outter(); 7 Outter.Inner