欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java学习笔记十五:Java中的成员变量和局部变量

程序员文章站 2023-08-21 08:56:01
Java中的成员变量和局部变量一:成员变量;二:局部变量;三:成员变量与局部变量的区别; ......

Java中的成员变量和局部变量

 

 

一:成员变量;

成员变量在类中定义,用来描述对象将要有什么

成员变量可以被本类的方法使用,也可以被其他类的方法使用,成员变量的作用域在整个类内部都是可见的

二:局部变量;

在类的方法中定义,在方法中临时保存

只能被当前方法使用,局部变量的作用域仅限于定义它的方法

如:

public class Telphone {

    
    float screen;    //成员变量
    float cpu;        //成员变量
    float mem;        //成员变量
    
    public void call(){
        int score;//局部变量
        System.out.println("Telphone有打电话的功能");
    }
    public void sendMessage(){
        System.out.println("screen:"+screen+"cpu:"+cpu+"mem"+mem+"Telphone有发短信的功能");
    }
    
}

 

三:成员变量与局部变量的区别;

1.作用域不同;

局部变量的作用域仅限于定义它的方法

成员变量的作用域在整个类内部都是可见的

举例如下:

Telphone类代码如下:

 

package com.test;

//1.定义一个类
public class Telphone {

    
    float screen;
    float cpu;
    float mem;
    int var;//定义一个成员变量
    
    public void call(){
        System.out.println("var"+var);//这里调用var变量
        System.out.println("Telphone有打电话的功能");
    }
    public void sendMessage(){
        System.out.println("var"+var);//同上
        System.out.println("screen:"+screen+"cpu:"+cpu+"mem"+mem+"Telphone有发短信的功能");
    }
    
}

 

InitailTelphone类代码如下:

(关于InitailTelphone类的创建我在笔记14有记录)

package com.test;

public class InitailTelphone {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
            
            Telphone phone = new Telphone();
            phone.sendMessage();
            //给示例变量赋值
            phone.screen=5.0f;
            phone.cpu=1.4f;
            phone.mem=.0f;
            //调用对象的方法
            phone.sendMessage();
        }
    

}

运行InitailTelphone类的结果:

Java学习笔记十五:Java中的成员变量和局部变量

注:这里说明var变量是可以被call方法和sendmessage方法调用的,由于变量var默认值为0,所以var值为0

 Java学习笔记十五:Java中的成员变量和局部变量

2.初始值不同;

Java会给成员变量一个初始值

Java不会给局部变量赋予初始值

且在同一个方法中,不允许有同名局部变量

在不同方法中,可以有同名局部变量

代码举例:

Java学习笔记十五:Java中的成员变量和局部变量

Java学习笔记十五:Java中的成员变量和局部变量

3.两类变量同名时,局部变量具有更高的优先级;

方法会优先使用成员变量的值