精华内容
下载资源
问答
  • 关于局部变量、局部静态变量的定义 局部变量:形参和函数体内部定义的...2.局部变量的生命周期由其定义方式决定,定义在函数体外的变量作用于整个程序的执行过程,定义在函数体内的作用于此函数执行的过程中。 3.静态

    关于局部变量、局部静态变量的定义

    局部变量:形参和函数体内部定义的变量。

    局部静态变量:将局部变量定义为static类型。

    三者区别

    1.形参是一种自动对象,是由传递函数的实参进行初始化,作用域仅仅是在所在函数体内有用,函数终止,则形参也被销毁。

    2.局部变量的生命周期由其定义方式决定,定义在函数体外的变量作用于整个程序的执行过程,定义在函数体内的作用于此函数执行的过程中。

    3.静态局部变量在第一次被初始化之后直到程序结束才被销毁。

    展开全文
  • 成员变量 ...局部变量和成员变量的区别 局部变量没有默认值。而成员变量有默认值 局部变量在栈中,实例变量在堆中,类变量在方法区中 局部变量作用范围是整个方法。成员变量作用范围是整个类 ...

    成员变量

    • 实例变量(不以static修饰)
    • 类变量(或者叫静态变量)
      局部变量
    • 形参
    • 方法局部变量(在方法内定义)
    • 代码块局部变量

    局部变量和成员变量的区别

    1. 局部变量没有默认值。而成员变量有默认值
    2. 局部变量在栈中,实例变量在堆中,类变量在方法区中
    3. 局部变量作用范围是整个方法。成员变量作用范围是整个类
    展开全文
  • Java中static关键字用法-成员变量和局部变量-方法的形参问题-匿名对象 static关键字 static关键字特点: 1.被static修饰成员,随着类加载而加载 (类就加载一次!) javac xxx.java---->xxx.class (字节...

    Java中static关键字的用法-成员变量和局部变量-方法的形参问题-匿名对象

    static关键字

    	static关键字的特点:
    	1.被static修饰的成员,随着类的加载而加载 (类就加载一次!)
    		  javac xxx.java---->xxx.class  (字节码文件)
    		  java xxx ---->运行---->加载类的时候,对象还没开始创建
    	2.优先于对象存在,对象的创建是在类加载的后面
    	3.被static修饰的变量和方法可以被共享共用
    	4.被static修饰的变量以及方法可以直接通过类名访问
    关于static使用的注意事项:
    	1.static关键字中没有this关键字
    	2.关于访问的问题:
    		1)非静态的成员方法既可以访问静态的变量/方法也可以访问非静态的变量/方法
    		2)静态的成员方法只能访问静态的变量/方法
    

    成员变量和局部变量的区别

    成员变量和局部变量的区别:
    	1.书写位置不同
    		局部变量:定义在方法声明上或方法中;
    		成员变量:定义在类中方法外;
    	2.内存中的位置不同
    		局部变量:在栈内存中;
    		成员变量:在堆内存中;
    	3.声明周期不同
    		局部变量:随着方法的调用而存在,随着方法的调用完毕而消失;
    		局部变量:随着对象的创建完毕而存在,随着对象被GC回收掉而消失(对象的回收不是立即回收,而是等待垃圾回收器空闲的时候回收!)
    	4.初始化不同
    		局部变量:在使用之前必须对局部变量初始化,否则就会报错,提示:可能尚未初始化变量
    		成员变量:可以不进行初始化,因为它在堆内存中,和对象有关,存在系统默认初始化
    

    方法的形参问题

    方法的形式参数是基本数据类型:
    	形式参数的改变对实际参数没有影响(是什么数据类型,传递对应的数据值即可!)
    方法的形式参数是引用数据类型:
    	形式参数的改变会直接影响实际参数!
    

    匿名对象

    匿名对象:没有对名字的对象称为匿名对象!
    格式:new 类名();
    特点:
    	1.可以做为形式参数传递
    	2.匿名对象不要使用多次,使用一次即可!
    匿名对象的应用场景:
    	移动端,Android 大量使用匿名对象或者匿名内部类
    匿名对象的好处:
    	匿名对象创建完毕,使用完毕就立即被回收(节省内存空间)
    

    匿名对象举例:

    class Student{
        plulic void study(){
            System.out.println("爱学习Java...");
        }
    }
    class StudentDemo{
        public void function(Student s){
            s.study();
        }
    }
    class StudentTest{
        public static void main(String[] args){
            //常规访问方式为
            StudentDmeo sd = new StudentDemo();
            Student s = new Student();
            sd.function(s);
            //匿名对象访问方式为
            new StudentDemo().function(new Student());
    
        }
    }
    
    展开全文
  • 成员变量和局部变量的区别 成员变量是独立于方法外的变量,局部变量是类的方法中的变量 成员变量: 包括实例变量和类变量,用static修饰的是类变量,不用static修饰的是实例变量,所有类的成员变量可以通过this来...

    成员变量和局部变量的区别

    成员变量是独立于方法外的变量,局部变量是类的方法中的变量

    • 成员变量: 包括实例变量和类变量,用static修饰的是类变量,不用static修饰的是实例变量,所有类的成员变量可以通过this来引用。
    • 局部变量:包括形参,方法局部变量,代码块局部变量,存在于方法的参数列表和方法定义中以及代码块中
    1. 成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及 static修饰;两者都可以定义成final型。

    2. 成员变量存储在堆,局部变量存储在栈。局部变量的作用域仅限于定义它的方法,在该方法的外部无法访问它。成员变量的作用域在整个类内部都是可见的,所有成员方法都可以使用它。如果允许,还可以在类的外部使用成员变量。

    3. 局部变量的生存周期与方法的执行期相同。当方法执行到定义局部变量的语句时,局部变量被创建;执行到它所在的作用域的最后一条语句时,局部变量被销毁。类的成员变量,如果是实例成员变量,它和对象的生存期相同。而的生存期是整个程序运行期。

    4. 成员变量在累加载或实例被创建时,系统自动空间,并在分配空间后自动为成员变量指定初始化值,初始化值为默认值,基本类型的默认值为0,复合类型的默认值为null。(被final修饰且没有static的必须显式赋值),局部变量在定义后必须经过显式初始化后才能使用,系统不会为局部变量执行初始化。

    5. 局部变量可以和成员变量 同名,且在使用时,局部变量具有更高的优先级,直接使用同名访问,访问的是局部变量,如需要访问成员变量可以用this.变量名访问

    本例中i为成员变量,有默认的初始值,如果定义在方法内部,就没有初始值

    关于可能存在的疑问的补充:

    1)this可以引用实例变量,当然也可以引用类变量。因为类变量属于整个类,this代表当前对象,也可以使用整个类的方法与属性。但是一般来说,我们不会使用this来引用类变量,因为不管在实例方法还是类方法中,类变量都可以直接使用(在其他类中调用本类的类方法或变量需要加类名),不需要加this;
    2)类变量存在于方法区;
    3)成员变量赋值的规律:接班数据类型byte、short、char、int、long默认赋值0,float、double默认赋值0.0,String等引用数据类型默认赋值null

    问:( 静态变量会默认赋初值,局部变量和final声明的变量必须手动赋初值 ?)

    答:因为静态变量一定是类变量,方法不能声明静态变量)

    关于下列程序段的输出结果,说法正确的是:( )
    public class MyClass{
    static int i;
    public static void main(String argv[]){
    System.out.println(i);
    }
    }

    A. 有错误,变量i没有初始化。

    B. null

    C. 1

    D. 0

    (正确答案D)

    展开全文
  • 在类中位置不同 ...(2)局部变量:随着方法调用而存在,随着方法调用完毕而消失。 初始化值不同 (1)成员变量:有默认初始化值。 (2)局部变量:没有默认初始化值,必须先定义...
  • 成员变量和局部变量的区别 A:在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上(形参) B:在内存中的位置不同 成员变量:在堆内存 局部变量:在栈内存 C:生命周期不同 成员变量:随着...
  • java中属性和局部变量的区别 属性(成员变量) vs 局部变量 1.相同点: 1.1定义变量的格式: 1.2先声明后使用 1.3变量都有其对应的作用域 2.不同点: 2.1在类中声明的位置不同 属性:直接定义在类中的...
  • 成员变量与局部变量的区别  A:在类中的位置不同:(概念)  成员变量:在类中方法外  局部变量:在方法定义中(形参)或者方法声明上  B:在内存中的位置不同(空间)  ...
  • 就是给类,接口,方法,变量等起名字字符序列 组成规则 英文大小写字母数字$_ 注意事项 不能以数字开头标识符必须是由字母下划线开头字母下划线数字组合 2.以下不正确说法是:C 语言规定()。 ...
  • 局部变量:方法形参、方法内部变量、语句块内变量(for循环初始化语句及其循环体属于同一个作用域) 默认值不同: 成员变量:有默认初始化值 局部变量:没有默认初始化值,必须显式赋值,方可使用 作用范围...
  • 成员变量: ...方法内定义变量、形参、代码块中定义变量都叫做局部变量; 另外,成员变量可以不显式初始化,它们可以由系统设定默认值;局部变量没有默认值,所以必须设定初始赋值。 还...
  • 在包含main 方法{}里、方法形参里、代码块内、构造器形参、构造器内部变量。 1.2关于权限修饰符不同 属性:可以在声明属性时候指明权限使用private public 缺省protected等修饰符 局部变量:不可使用 ...
  • Java中成员变量和局部变量的区别

    千次阅读 2015-07-21 10:54:13
    局部变量:包括形参,方法局部变量,代码块局部变量,存在于方法参数列表方法定义中以及代码块中。   1.成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及 static...
  • 三 类属性(成员变量) //成员变量 VS局部变量 方法里面变量为...//局部变量:声明在方法内,方法的形参部分,代码块内 // 2.成员变量得修饰符有四个:public private protected 缺省 //局部变量得修饰符与所在方...
  • 成员变量和局部变量的区别 1、成员变量是独立于方法外的变量,局部变量是类的方法中的变量 ( 1)、成员变量:包括实例变量和类变量,用static修饰的是类变量,不用static修饰的是实例变量,所有类的成员变量可以...
  • 成员变量与局部变量的区别: 在类中的位置不同: 成员变量是属于类的,是在类中并且在方法外,可以被public、private、static等修饰符所修饰。 局部变量是在方法中定义的变量或是方法中的参数(形参),局部变量不...
  • 局部变量: 声明在方法内、方法形参、代码快内、构造器形参、构造器内部变量 权限修饰符不同 属性:可以在声明属性时,指明其权限,使用权限修饰符。 局部变量:不可以使用权限修饰符 默认初始化情况 属性:...
  • 全局变量顾名思义在整个模块中都能用,局部变量... 局部变量的作用范围只在声明该局部变量的函数体内 局部变量在函数调用时被创建,在函数调用完成后自动销毁 全局变量 定义在函数体外,模块内的变量称为全局变量...
  • 马上期末考试,从头复习一下数据...数据元素:数据基本单位,数据元素比较复杂时,可以分割成很多数据项,数据项是数据最小不可再分单位。数据结构:数据元素之间具有某些关系。如,集合,线性表,树,图。逻...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 296
精华内容 118
关键字:

形参和局部变量的区别