包/final/權限修飾符/代碼塊

包package

1、包的作用

包用來管理不同的類。

2、包名

包名要全部小寫,一般是域名反寫,如com.liu。在Java中,java解釋器會將package中的.解釋為目錄分隔符/,也就是說該文件的目錄結構為:...com/liu/...

3、全類名/全限定名

包名+類名,如com.liu.Student

4、使用import關鍵字導包

①當導入一個包后,這個包下的其他類就可以直接使用了,不用再導入;

②java.lang包下的類也可以直接使用;

③其他情況,比如不同包中的其他類要導個包或者import全類名才可以使用。

final

學習了繼承之后知道了子類可以修改父類中的屬性值或者重寫父類中的行為,但是如果不想被改變則可以用final關鍵字修飾。

1、修飾變量

不可被改變,叫常量,只能被賦值一次。

被final修飾的常量名稱,一般都有書寫規范,所有字母都大寫,單詞之間使用_連接。?

final修飾的變量

(1)基本數據類型:其值不可再變化;

(2)引用數據類型:指向的地址不會再變化,但地址中存的內容是可能會被改變的。

2、修飾方法

此方法不可被子類重寫。如果這個方法表示的是一種規則,不想被別人改變,則可用final修飾。

3、修飾類

不可被繼承。像Java中提供的Math、String和Scanner這些類都是被final修飾的,只希望我們使用,不想要我們去改變它們的行為。

后面的2和3只用知道就行了,1用的較多,要掌握。

權限修飾符

控制可以被訪問的范圍。

范圍分為四個部分,分別是本類、同一包下的其他類、不同包下的子類、不同包中的無關類。

1、private
2、默認/缺省
3、protected

想讓其他包中的子類也可以訪問到,提出了protected修飾符。

4、public

實際開發中最常用的就是private和public:

(1)成員變量私有

(2)方法公開

特例:如果一個方法中的代碼是其他方法中的共性抽取出來的,這個方法一般也私有,不對外提供。

代碼塊

用大括號括起來的代碼。

1、局部代碼塊

寫在方法里面的一對大括號,可以提前結束變量的生命周期,已被淘汰。

2、構造代碼塊

把構造方法中重復的代碼抽取出來放到用大括號括起來,成員變量的位置。

格式:

{//語句體;
}

在每次創建本類對象的時候一定會先執行構造代碼塊,然后再執行構造方法。

這個技術也漸漸淘汰了,因為太死了,不夠靈活,即在創建對象的時候構造代碼塊中的內容一定會執行,沒有辦法不執行,但是有時候我們就是不想要執行。

所以如果構造方法有共性的部分可以寫成一個構造方法由其他構造方法通過this進行調用,也可以寫成一個方法由構造方法去調用。

3、靜態代碼塊

格式:

static {//語句體;
}

隨著類的加載而出現,只執行一次。

什么時候用?在類加載的時候做一些數據初始化,并且只希望只執行一次的時候就可以用了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42446.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42446.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42446.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

1.pwn的匯編基礎(提及第一個溢出:整數溢出)

匯編掌握程度 能看懂就行,絕大多數情況不需要真正的編程(shellcode題除外) 其實有時候也不需要讀匯編,ida F5 通常都是分析gadget,知道怎么用, 調試程序也不需要分析每一條匯編指令,單步執行然后查看寄存器狀態即可 但…

Text2SQL提問中包括時間的實戰方案

大家好,我是herosunly。985院校碩士畢業,現擔任算法研究員一職,熱衷于機器學習算法研究與應用。曾獲得阿里云天池比賽第一名,CCF比賽第二名,科大訊飛比賽第三名。擁有多項發明專利。對機器學習和深度學習擁有自己獨到的見解。曾經輔導過若干個非計算機專業的學生進入到算法…

實現多數相加,但是傳的參不固定

一、情景 一般實現的加法和減法等簡單的相加減函數的話。一般都是寫好固定傳的參數。比如: function add(a,b) {return a b;} 這是固定的傳入倆個,如果是三個呢,有人說當然好辦! 這樣寫不就行了! function add(a…

vue中自定義設置多語言(包括使用vue-i18n),并且運行js腳本自動生成多語言文件

在項目中需要進行多個國家語言的切換時,可以用到下面方法其中一個 一、自定義設置多語言 方法一: 可以自己編寫一個設置多語言文件 在項目新建js文件,命名為:language.js,代碼如下 // language.js 文檔 let languagePage {CN…

聊一下Maven打包的問題(jar要發布)

文章目錄 一、問題和現象二、解決方法(1)方法一、maven-jar-pluginmaven-dependency-plugin(2)方法二、maven-assembly-plugin 一、問題和現象 現在的開發一直都是用spring boot,突然有一天,要自己開發一個…

Django之項目開發(二)

目錄 一、安裝和使用uWSGI 1.1、安裝 1.2、配置文件 1.3、啟動與停止uwsgi 二、安裝nginx 三、Nginx 配置uWSGI 四、Nginx配置靜態文件 五、Nginx配置負載均衡 一、安裝和使用uWSGI uWSGI 是一個 Web 服務器,可以用來部署 Python Web 應用。它是一個高性能的通用的 We…

味蕾與理解:應對自閉癥兒童挑食的策略與理解

在星貝育園自閉癥康復學校,我們深知飲食習慣對孩子們的成長至關重要,而自閉癥兒童的挑食問題往往比同齡兒童更為突出,給家長和照顧者帶來了額外的挑戰。今天,作為這里的老師,我想與大家分享一些應對自閉癥兒童挑食的策…

(南京觀海微電子)——電阻應用及選取

什么是電阻? 電阻是描述導體導電性能的物理量,用R表示。 電阻由導體兩端的電壓U與通過導體的電流I的比值來定義,即: 所以,當導體兩端的電壓一定時,電阻愈大,通過的電流就愈小;反之&…

鴻蒙應用實踐:利用扣子API開發起床文案生成器

前言 扣子是一個新一代 AI 應用開發平臺,無需編程基礎即可快速搭建基于大模型的 Bot,并發布到各個渠道。平臺優勢包括無限拓展的能力集(內置和自定義插件)、豐富的數據源(支持多種數據格式和上傳方式)、持…

[Unity入門01] Unity基本操作

參考的傅老師的教程學了一下Unity的基礎操作: [傅老師/Unity教學] Unity3D基礎入門 [華梵大學] 遊戲引擎應用基礎(Unity版本) Class#01 移動:鼠標中鍵旋轉:鼠標右鍵放大:鼠標滾輪飛行模式:右鍵WASDQEFocus模式&…

算法設計與分析 實驗5 并查集法求圖論橋問題

目錄 一、實驗目的 二、問題描述 三、實驗要求 四、實驗內容 (一)基準算法 (二)高效算法 五、實驗結論 一、實驗目的 1. 掌握圖的連通性。 2. 掌握并查集的基本原理和應用。 二、問題描述 在圖論中,一條邊被稱…

基于Android Studio訂餐管理項目

目錄 項目介紹 圖片展示 運行環境 獲取方式 項目介紹 能夠實現登錄,注冊、首頁、訂餐、購物車,我的。 用戶注冊后,登陸客戶端即可完成訂餐、瀏覽菜譜等功能,點餐,加入購物車,結算,以及刪減…

【學習筆記】操作系統--萬字長文

計算機操作系統 文章目錄 計算機操作系統引言 操作系統基本概念第一章 引論目標和作用操作系統發展歷程單道批處理系統多道批處理系統分時系統實時系統 基本特征并發共享虛擬異步性(不確定性) 操作系統主要功能處理機管理內存管理設備管理文件管理 第二章…

python `queue` 模塊提供了同步的、線程安全的隊列類

在Python中,queue 模塊提供了同步的、線程安全的隊列類,這使得在多線程環境下共享數據變得簡單。下面是一個使用 queue.Queue 的并發編程示例,其中使用了 threading 模塊來創建多個線程,這些線程將向隊列中添加元素并從隊列中取出…

探索 WebKit 的前沿之旅:HTML5 新特性的卓越處理

探索 WebKit 的前沿之旅:HTML5 新特性的卓越處理 隨著 Web 技術的飛速發展,HTML5 已經成為構建現代網頁和應用的基石。WebKit,作為領先的瀏覽器引擎之一,承載著將這些創新技術轉化為用戶可感知體驗的使命。本文將深入探討 WebKit…

工程化:Commitlint / 規范化Git提交消息格式

一、理解Commitlint Commitlint是一個用于規范化Git提交消息格式的工具。它基于Node.js,通過一系列的規則來檢查Git提交信息的格式,確保它們遵循預定義的標準。 1.1、Commitlint的核心功能 代碼規則檢查:Commitlint基于代碼規則進行檢查&a…

匯聚榮拼多多電商的技巧有哪些?

在電商平臺上,匯聚榮拼多多以其獨特的商業模式和創新的營銷策略吸引了大量消費者。那么,如何在這樣一個競爭激烈的平臺上脫穎而出,成為銷售佼佼者呢?本文將深入探討匯聚榮拼多多電商的成功技巧。 一、精準定位目標客戶群體 首先,…

Python魔法函數(Magic Methods簡介

在 Python 中,魔法函數(Magic Methods)也稱為雙下劃線方法(Dunder Methods),是指那些名字以雙下劃線開頭和結尾的特殊方法。 這些方法可以讓您的自定義類實現一些特定的行為,從而與 Python 的內…

絕區肆--2024 年AI安全狀況

前言 隨著人工智能系統變得越來越強大和普及,與之相關的安全問題也越來越多。讓我們來看看 2024 年人工智能安全的現狀——評估威脅、分析漏洞、審查有前景的防御策略,并推測這一關鍵領域的未來可能如何。 主要的人工智能安全威脅 人工智能系統和應用程…

Qt 繪圖詳解

文章目錄 頭文件和構造函數啟用反鋸齒功能繪制矩形繪制圓角矩形繪制橢圓繪制圓弧繪制弦繪制凸多邊形繪制圖片繪制直線繪制多條直線繪制多點連接的線繪制路徑繪制扇形繪制點繪制文本擦除矩形區域填充矩形填充路徑 頭文件和構造函數 #include "mainwindow.h" #include…