1. 程式人生 > >Java學習筆記十五:Java中的成員變量和局部變量

Java學習筆記十五:Java中的成員變量和局部變量

auto 描述 nbsp 方法 同名 -a todo generated bsp

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類的結果:

技術分享圖片

註:這裏說明var變量是可以被call方法和sendmessage方法調用的,由於變量var默認值為0,所以var值為0

技術分享圖片

2.初始值不同;

Java會給成員變量一個初始值

Java不會給局部變量賦予初始值

且在同一個方法中,不允許有同名局部變量

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

代碼舉例:

技術分享圖片

技術分享圖片

3.兩類變量同名時,局部變量具有更高的優先級;

方法會優先使用成員變量的值

Java學習筆記十五:Java中的成員變量和局部變量