精华内容
下载资源
问答
  • 局部内部类(Local Inner Class):定义在方法当中,只能访问方法中声明的final类型的变量 但是:我下面的练习发现:它也可以访问非final类型的变量: 这是为什么呢?还是Jdk7版本后新增加的特性? // 3.局部内部类...
  • 局部变量和成员变量区别? 注意: 1.使用小驼峰式命名方法 2.使用时遵循就近原则(首先在局部范围内找,无,在到成员范围找) 3.变量消失后被GC自动回收 区别 成员变量 局部变量中的位置 类方法外 ...

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

    注意:
    1.使用小驼峰式命名方法
    2.使用时遵循就近原则(首先在局部范围内找,无,在到成员范围找)
    3.变量消失后被GC自动回收

    区别 成员变量 局部变量
    类中的位置 类中,方法外 方法定义中或方法声明上
    访问权限 整个类都可以访问 局部区域可访问
    内存中的位置 对象所在的堆中 方法所在的栈中
    生命周期 随着对象的创建而创建,消失而消失 随着方法的调用而存在,方法调用结束而消失
    初始化值 有默认值 无默认值,必须定义赋值再使用
    展开全文
  • 成员变量和局部变量

    2017-02-26 21:29:48
    成员变量 局部变量 在类内部定义变量 在方法内部定义变量 有访问权限修饰符 没有访问权限修饰符 ... 局部变量存在于表示声明该变量块语句或方法结束右花括号({})之前作用域内 类成员变量,如果是实例
    成员变量 局部变量
    在类内部定义的变量 在方法内部定义的变量
    有访问权限修饰符 没有访问权限修饰符
    有静态成员变量 没有静态局部变量
    系统可以自动为成员变量赋初值 系统不会为局部变量赋初值
    只要类在某个作用域中,其字段也(也称成员变量)也在该作用域内 局部变量存在于表示声明该变量的块语句或方法结束的右花括号({})之前的作用域内
    类的成员变量,如果是实例成员变量,它和对象的生存期相同。而静态成员变量的生存期是整个程序运行期 局部变量的生存周期与方法的执行期相同。 当方法执行到定义局部变量的语句时,局部变量被创建;执行到它所在的作用域的最后一条语句时,局部变量被销毁
    局部变量可以和成员变量同名,且在使用时,局部变量具有更高的优先级,同名的局部变量会屏蔽掉成员变量。为了访问被屏蔽的成员变量,需要使用一个前缀”this”,它表示的是”本对象” 在同一个方法中,不允许有同名的局部变量。在不同的方法中,可以有同名的局部变量,它们互不干涉
    展开全文
  • 面向对象(类,成员变量,局部变量,成员方法,构造方法方法重载) 类 什么是类? 类是由一些对象共有表现(静态特征)和行为(动态特征)所抽象出来模板,是对客观世界某类群体一些基本特征抽象。 类结构...

    面向对象(类,成员变量,局部变量,成员方法,构造方法,方法重载)

    什么是类?

    类是由一些对象共有表现(静态特征)和行为(动态特征)所抽象出来的模板,是对客观世界某类群体的一些基本特征的抽象。

    类的结构

    成员数据:对象属性的描述。

    成员方法:对象的行为。(可以做的事情)

    构造方法(构造器):用于创建类的实例(即对象)。

    内部类:在类体中声明的类。

    块:代码块。

    类的声明(class关键字的使用)

    关键字class用来声明一个类

    类的声明格式为:
    [访问权限修饰符] [修饰符] class 类名{

    }
    访问修饰符有两种public,default(默认)
    修饰符:final,abstract
    示例:

    //定义一个公共类Car
    public class Car {
    
    }
    

    注:Java类命名规范:类名首字母大写,多个单词组成时,每个单词首字母大写。见名知意,驼峰表示。

    类的成员数据

    类的成员数据包括成员变量,局部变量,类变量(静态变量)等等

    成员变量

    成员变量就是定义在类中,方法体之外的变量。

    成员变量可以使用Java中任意一种数据类型(基本数据类型或引用数据类型)。

    在定义成员变量时可以对其进行初始化,如果不对其进行初始化,Java使用默认值对其初始化。(各数据类型的默认值:整形:0,字符型:,浮点型:0.0,布尔型:false,引用类型:null)

    成员变量创建对象时会从类中复制一份到对象中。

    成员变量可以被类中方法,构造方法和特定类的语句块访问。

    成员变量的作用范围是整个类体。

    声明成员变量:

    [访问权限修饰符] [修饰符] 数据类型 变量名 [= defaultValue]

    测试各类型成员变量的默认初值:
    public class TestDemo {
        //声明成员变量,不进行初始化赋值
        int i;
        char c;
        float f;
        boolean b;
        String s;
    }
    
    class Test{
        public static void main(String[] args) {
            TestDemo t = new TestDemo();
            //打印输出成员变量的默认值
            System.out.println("整形变量默认初值为:"+t.i);
            System.out.println("字符型变量默认初值为:"+t.c);
            System.out.println("浮点型变量默认初值为:"+t.f);
            System.out.println("布尔型变量默认初值为:"+t.b);
            System.out.println("引用类型变量默认初值为:"+t.s);
        }
    }
    

    运行结果:

    整形变量默认初值为:0
    字符型变量默认初值为: 
    浮点型变量默认初值为:0.0
    布尔型变量默认初值为:false
    引用类型变量默认初值为:null
    
    Process finished with exit code 0
    

    局部变量

    在成员方法,构造方法或者语句块中定义的变量称为局部变量。(方法的形式参数也属于局部变量)

    局部变量可以使用Java中任意一种数据类型(基本数据类型或引用数据类型)。

    局部变量在使用前必须对它进行初始化赋值。

    变量的声明和初始化都是在方法体中,方法结束后,变量自动销毁。

    类变量(静态变量)

    定义于类中,被static关键字修饰的成员变量,后面讲static关键字时再进行详细讲解。

    类中的方法

    类中的方法包括成员方法,构造方法,静态方法等

    成员方法

    定义在类中的方法

    作用:操作实例对象。

    声明成员方法:

    修饰符 返回值类型/void 方法名 ( 形参列表) {
    方法体语句;
    [return 返回值]
    }

    与成员方法不同的是,创建类的实例对象时,并不会将成员方法复制一份给对象。

    构造方法

    定义在类中,用来创建对象的方法。

    构造方法是类的一种特殊方法,其特点有:

    1.构造方法名与类命相同。

    2.没有返回值,不需要void修饰。

    3.使用new调用创建对象,初始化对象。

    构造方法支持重载,即一个类中可以有一个或多个构造方法,没有显示声明构造方法时,创建对象会自动调用系统默认的无参构造方法。

    构造方法可以继承,即在子类中可以调用父类的构造方法。

    静态方法

    定义于类中,被static关键字修饰的方法,后面讲static关键字时再进行详细讲解。

    方法的重载

    同一个类中定义了多个同名而参数不同的方法时,称之为方法的重载(overload)

    参数不同主要体现在三个方面:

    1.参数数量不同

    2.参数类型不同

    3.参数顺序不同

    示例:

    public int getSum(int a,int b){
        return a+b;
    }
    
    //参数数量不同
    public int getSum(int a,int b,int c){
        return a+b+c;
    }
    
    //参数类型不同
    public double getSum(double a,double b){
        return a+b;
    }
    
    //参数位置不同
    public double getSum(double a,int b){
        return a+b;
    }
    
    public double getSum(int a,double b){
        return a+b
    }
    
    

    在调用重载的方法时,Java编译器会根据每个方法中的参数的不同,选择相应的方法。

    注意:方法重载只与参数有关,跟方法返回值类型,访问权限修饰符没有任何关系

    展开全文
  • 成员变量与局部变量

    2016-04-05 18:54:05
    方法中声明的变量和方法称为局部变量 1,声明成员变量 【修饰符】【static】【final】;  可选 可选 可选 必选 必选 修饰符:用于指定变量的被访问权限,public protected private static: ...

    在类体中变量定义部分声明的是成员变量

    在方法体中声明的变量和方法称为局部变量


    1,声明成员变量

    【修饰符】【static】【final】<变量类型><变量名>;

         可选           可选 可选 必选 必选



    修饰符:用于指定变量的被访问权限,public protected private

    static: 用于指定该成员变量为静态变量,可以直接通过类名访问。如果没static则表示该成员变量为实例变量

    final:用于指定该成员变量的取值为不可变的常量

    变量类型:就是指定变量的数据类型

    变量名:就是成员变量的名称,变量名应是合法的标识符

    例题:

    在类中声明三个成员变量


    public class Apple(){

    public String color;//声明公共变量color

    public static int count;//声明静态变量count

    public final boolean MATURE=true;//声明常量MATURE并赋值

    public static void main(String 【】args){

    System.out.println(Apple.count);//类名直接调用静态变量

    Apple apple=new Apple();

    System.out.println(apple.color);

    System.out.println(apple.MXTURE);

    }

    }

    静态变量与实例变量的区别:运行时虚拟机JVM只为静态变量分配一次内存,在加载类的过程中完成静态变量的

    内存分配,可以直接通过类名访问静态变量;

    实例变量在每运行一次,就会为该实例变量分配一次内存


    2声明局部变量


    注意:局部变量只能用final关键字

    【final】<变量类型><变量名>;

    举例:

    在成员方法grow()中声明两个局部变量

    public void grow(){

    final boolean STATE;//声明常量STATE

    int age;//声明局部变量age

    }


    3变量的有效范围

    就是该变量在代码中的作用区域,在区域外不能直接访问变量。

    (1)成员变量:在类中声明,在整个类中有效

    (2)局部变量:在方法内或者是方法内的复合代码块“{ }之间的代码”中声明的,在复合代码块中间声明的

    在当前代码块有效;在方法内声明的在这个方法内部都有效;

    举例:

    public class Olympics{

    private void China(){

    int medal-CN=100;

    if(medal-CN<1000){

    int gold=50;

    medal-CN+=50;

    medal-All-=150;

    }

    }

    }




    展开全文
  • 局部变量与全局变量

    2018-01-04 21:16:29
    比较 成员变量 局部变量 ...定义在方法中 ...在整个类内部都是可见,所有成员方法都可以使用它,如果权限允许话在其他类中也可以访问到 仅限于定义它方法 注意 注意成员变量和局
  • 定义类 在Java语言,类是基本的构成要素,是对象...在类声明,需要定义类的名称、对该类的访问权限、该类与其他类的关系等。类声明的格式如下: [修饰符] class [extends 父类名] [implements 接口列表]{ } [修饰
  • 实例方法与类方法 声明方法时,方法类型前面不使用static修饰是实例方法, ...当局部变量和成员变量名字相同时,成员变量就会被隐藏,这时如果想在成员方法中使用成员变量,则必须使用关键字this。 语法格式为:
  • 静态变量和静态方法总结: 一个类静态方法只能访问静态变量; 一个类静态方法不能够直接调用非静态方法; 如访问控制权限允许,静态变量和静态方法...局部变量不能使用static修饰。 静态方法中不存在当前对...
  • 我们知道类中的成员(包括静态和非静态字段和方法)作用域对外(不同包和不同类)是依赖类的访问控制等级,对内(同类内)则都可访问。因为类成员变量对类来说是全局变量,即在成员变量定义代码块(类)内都是有效...
  • 成员变量的定义与使用 ... 定义成员变量的语法如下:[变量修饰符] 类型说明符变量名类的成员变量和在方法中声明的局部变量都是用户标识符,它们的命名规则相同。变量修饰符是可选项,一个没有变量修饰符...
  • 我们知道类中的成员(包括静态和非静态字段和方法)作用域对外(不同包和不同类)是依赖类的访问控制等级,对内(同类内)则都可访问。因为类成员变量对类来说是全局变量,即在成员变量定义代码块(类)内都是有效...
  • static关键字 static被称为静态,可以用来修饰类属性,方法,代码块,内部类。 静态属性是类所有对象共享,即不管创建了多少个对象,静态属性在内存中只有一...代码块在类中声明,类似一个没有名称的方法体(代码块)
  • 内部类之局部内部类

    2020-06-18 08:27:54
    局部内部类在访问局部变量的时候,只能访问常量 作用域只在方法中 可以访问外部类所有成员和方法 package cn.geezer.innerclass; public class PartInnerClass { int sum = 18; final static String name = ...
  • Java中的static和final

    2019-02-13 17:42:35
    静态变量和静态方法的总结: 一个类静态方法只能访问静态变量; 一个类静态方法不能够直接调用非静态方法; 一个类非静态方法可以访问其静态方法和静态变量;...如访问控制权限允许,静态变量...局部变量不...
  • 类、属性、方法

    2018-05-16 11:59:06
    类的声明形式【】中是可选项,...属性又称成员变量,是声明在类中的变量,在方法中声明的变量称为局部变量或临时变量。属性的声明方式【访问权限修饰符】【修饰符】返回值数据类型 方法名【形式参数列表】{执行语...
  • 10.方法方法重载

    2021-02-21 16:38:32
    成员变量和局部变量区别6. 方法重载现象 1. 方法概述 在面向过程出现时候,方法就出现了。在程序要存储数据,会采用变量来存储,以方便我们复用。而方法的出现使为了存储程序中的功能代码,以方便我们复用。 ...
  • js作用域

    2017-06-23 13:32:08
    变量的作用域无非就是两种:全局变量和局部变量,js函数内部可以直接取全局变量,在函数外部自然无法读取函数内的局部变量,在函数内部声明变量的时候,一定要使用var,如果不用的话,实际上声明了一个全局变量 ...
  • **(一).创建类:**修饰符(可有可不要,涉及访问权限问题)+class +类名 +{ 成员}(这个也就是类体);...)——在方法的定义中声明的变量又称局部变量局部变量只在声明它的方法内有效,出了这个方法局部变量
  • Java必知基础(三)

    2019-05-18 15:43:17
    声明的位置不同:成员变量声明在类里方法外,局部变量声明在方法内、形参列表方法块内; 成员变量访问权限修饰符有:public private protected 缺省(default),局部变量没有修饰符; 初始化值:成员变...
  • Java初学(五)

    2019-10-08 11:58:56
    一、成员变量和局部变量区别(成员变量默认为包内访问权限,即使是子类,不在一个包内也无法访问)  1、在类中的位置不同  成员变量:在类中方法外;  局部变量:在方法定义或者方法声明上  2、在内存中的...
  • 面向对象06

    2021-01-19 23:02:14
    2.局部内部类 在访问外部方法中的局部变量的时候需要加final修饰(1.8之前),从1.8开始 final可以省略 3.局部内部类中,不能有静态声明 成员方法中的局部内部类 可以访问外部类中所有 的属性 成员方法局部内部类不能...
  • Java面向对象综合练习

    2020-07-26 16:51:57
    方法中定义的局部变量在该方法被执行时创建。 C. 实例变量用关键字static声明。 D. 局部变量在使用前必须被初始化。 2、 在Java语言中,下列哪个包是编译器自动导入的?( ) A. java.applet B. java.lang C. ...
  • Java内部类

    2019-01-07 17:18:31
    在方法或作用域中声明的类,访问权限仅限在方法或作用域内。内部类不能被public、private、static修饰;创建内部类的实例只能在包含他的方法中;只能访问final局部变量。 匿名内部类 实现父类或者接口中的方法...
  • 局部变量方法局部变量、代码块局部变量 (3)、两同:同名、同参 两小:返回值类型、异常类型 一大:访问权限 (4)、每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式...
  • Java内部类注意事项

    2020-10-24 15:58:33
    方法中定义的内部类只能访问方法中的final类型的局部变量(且无法修改)。 不能从静态内部类对象中访问非静态外部类对象 实例化 内部类实例化分为非静态内部类实例化和静态内部类实例化, 具体可看Java非静态与...
  • 牛客习题总结15

    2020-06-21 22:03:37
    local variable, 局部变量:在方法中声明的变量。 A ConcurrentHashMap使用ReentrantLock来保证线程安全。 B.HashMap实现的是Cloneable接口和Serializable接口 C Arrays.asList() 将一个数组转化为一个List对象,...
  • 用,变量方法可以通过设定一定的访问权限(见下面例子)来允许或禁止其它对象对它 访问。 我们先定义一个类 Point。 例子: class Point{ int x,y; String name = "a point"; Point(){ x = 0; y = 0; } Point( ...
  • 内部类(innerClass),表示是在一个类定义允许出现其他类的声明,这些其他类通常称之为内部类(或:寄生类,类属类),内部类可以访问外部类中的成员(属性,方法),内部类提供了比方法更为强大封装特性;Java...

空空如也

空空如也

1 2 3 4 5
收藏数 96
精华内容 38
关键字:

方法中声明的局部变量访问权限