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

来源:https://www.cnblogs.com/qiaoyifan/archive/2018/06/05/9142025.html
-Advertisement-
Play Games

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

註:這裡說明var變數是可以被call方法和sendmessage方法調用的,由於變數var預設值為0,所以var值為0

 

2.初始值不同;

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

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

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

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

代碼舉例:

3.兩類變數同名時,局部變數具有更高的優先順序;

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 5.1.cms後臺修改密碼功能完成 (1)新建app/forms.py (2)cms/forms.py (3)cms/views.py (4)新建static/common/zlajax,js (5)cms/js/resetpwd.js (6)cms/cmc_base.html (7)cms/cms ...
  • 一、動態代理 1.1、代理模式 什麼是代理模式及其作用? Proxy Pattern(即:代理模式),23種常用的面向對象軟體的設計模式之一。 代理模式的定義:為其他對象提供一種代理以控制對這個對象的訪問。 在某些情況下,一個對象不適合或者不能直接引用另一個對象,而代理對象可以在客戶端和目標對象之間 ...
  • 前言 從去年的3月份起我就在開始讀《Effective Java 第二版》,當然,我讀的是中文版的;可能是我理解能力還不行,對於書中的內容總是感覺理解困難;就拿第一章的內容「創建和銷毀對象」來說吧,這是我讀的次數最多的一章,想必原因大家也是明白的,每次我讀不下去的時候,我就從頭開始讀,所以,現在我對 ...
  • 1.首先安裝mysql 具體教程可以參考https://blog.csdn.net/zhouzezhou/article/details/52446608 註意安裝產品的時候記得選擇MySQL Connector C,如圖 2.安裝好mysql之後,就開始配置,點擊項目->點擊項目屬性,如圖: 3. ...
  • 也許是最近模擬題打多了的緣故,我發現自己漸漸變得比較毒瘤起來,當然這也是有一定的好處的,因為從中我也學到了一些處理字元串的正確姿勢,今天我們就來講一 講如何用函數getline來讀入一整行字元串進行處理。或者他的一些變體。 首先我們先需要知道為什麼我們要學習這個函數,是這樣的,相信大家都應該知道以前 ...
  • Spring Boot 2.0 的推出又激起了一陣學習 Spring Boot 熱,就單從我個人的博客的訪問量大幅增加就可以感受到大家對學習 Spring Boot 的熱情,那麼在這麼多人熱衷於學習 Spring Boot 之時,我們自己也在思考: Spring Boot 為什麼帶來了這麼大的變革。 ...
  • c++文件的讀寫 1.文本方式的寫文件 3.二進位方式的寫文件 c++ include include using namespace std; int main(){ int ar[] = {11,232,123123,1223,455,4,4,5,56,4,33}; ofstream ofile ...
  • 一.首先在啟動類重寫SpringBootServletInitializer里的configure方法: 二.將springboot項目打成war包,使用maven打包需要修改pom文件,將預設的打為jar包修改成war: 也可以使用idea將構建好的項目打包,如圖: 三.和別的Spring項目一樣 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...