Java學習筆記十五:Java中的成員變量和局部變量
阿新 • • 發佈:2018-06-05
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中的成員變量和局部變量