java 面向對象(二)

static 修飾符

static 介紹

在咱們平常生活中,有些事物不屬於某一個對象,而是屬於整個事物的類型。java

好比:全世界人口總數、人的毀滅行爲 應該屬於人類,不該該屬於某一我的。spa

狀態和行爲應該有 對象 之分:code

  • 有的狀態和行爲,應該屬於某個對象;
  • 有的狀態和行爲,應該屬於類型;

經過Static修飾符就能解決這個問題,它修飾的成員就不屬於對象,它屬於類自己。對象

它能夠修飾字段、方法、內部類。blog

static 做用

肯定修飾的內容是屬於類仍是屬於對象。接口

static 特色

一、static修飾的內容,是隨着類的加載而加載的。生命週期

當JVM把class字節碼加載到虛擬機當中時,static他修飾的成員會自動的加載到內存當中。(方法區)內存

二、static修飾的內容,優先於對象的存在。作用域

對象是須要咱們手動new出來的,static加載字節碼時已經自動加載到JVM了。開發

三、static修飾的內容,被該類型的全部對象所共享

根據該類建立出來的對象,均可以訪問static成員,表面上是經過對象訪問,其本質依然是使用類名訪問,和對象沒有任何關係。

四、static修飾的內容,能夠直接使用類名來調用。

由於static修飾的成員屬於類,不屬於對象。

變量劃分

變量

數據類型 變量名 = 值;

1. 成員變量

直接定義在類中的變量

(1)類成員變量:在成員變量前加static,就是類成員變量 (2)實例成員變量: 沒加static就是實例成員變量

類成員和實例成員的訪問:

  • 在static方法中只能調用static成員
  • 非static方法,能夠訪問靜態成員,也能夠訪問非靜態成員

注意:在方法當中不能定義static變量

成員變量是有初始值的;不給初始值, 會有默認,能夠直接使用。

2. 局部變量

定義在方法或代碼塊當中的變量(包括參數列表,和內部定的變量)

必須得要初始化以後才能使用

變量的做用域和生命週期

什麼是包

在開發中,咱們存在幾百上千個Java文件,若是全部的Java文件都在一個目錄中,管理起來也很痛苦,Java能夠建立一個相似文件夾的東西,咱們稱這個文件夾爲包。

包的做用

(1)把功能類似或相關的類或接口組織在同一個包中,方便類的查找和使用。

(2)如同文件夾同樣,包也採用了樹形目錄的存儲方式,同一個包中的類的名字是不一樣的,不一樣的包中的類的名字是能夠相同的,但同時調用兩個不一樣包中相同類名的類時,應該加上包名加以區別。所以,包能夠避免名字衝突。

(3)包也限定了訪問權限,擁有包訪問權限的類才能訪問某個包中的類。

包的語法

package 包名.子包名.子子包名;

必須把該語句做爲Java文件中的第一行代碼。

包名定義

(1)包名必須遵循標識符規範,所有小寫。

(2)企業開發中,包名用公司域名倒寫

使用格式: package 域名倒寫.模塊名.組件名;

類的名稱

類的簡單名稱:直接類名

類的全限定名稱:包名.類名

import 語句

當 A 類和 B 類不在同一個包中,若 A 類須要使用到 B 類,此時就得讓 A 類去引入 B 類。

屬性

屬性和字段相似,也是一個成員變量。可是必需要有 getter/setter 方法。

有 getter/setter 方法纔是屬性,沒有就是字段。

通常屬性都是私有的,公有的別人能夠直接獲取和設置值。

相關文章
相關標籤/搜索