形式引數和返回值
方法的形參(方法返回值)
基本資料型別,傳遞對應的資料型別的這種值
引用資料型別:
引用型別是(具體)類:需要傳遞該類的具體物件
抽象類:需要傳遞的是該抽象類的子類物件
介面:需要傳遞該介面的子實現類物件
在乙個類a中定義另乙個類b,類b就是類a的內部類.
內部類的分類:不管是成員內部類還是區域性內部類,都是可以訪問外部類的成員,包括私有.
成員內部類(非靜態的):在外部類的成員位置定義的這個類.
直接通過外部類訪問成員內部類中的成員方法
格式:外部類名.內部類名 物件名 = 外部類物件.內部類物件;
物件名.內部類中的方法();
成員內部類的修飾:
private :保證資料的安全性;
static:為了資料的方便呼叫
靜態的成員內部類:
通過外部類訪問靜態的成員內部類中的成員方法:
格式:外部類名.內部類名 物件名 = new 外部類名.內部類名() ;
物件名訪問.方法();
靜態的成員內部類中,不管成員方法是靜態的還是非靜態的,只要訪問外部類的成員,該成員必須
被static修飾!
區域性內部類:在外部類的區域性位置中定義的類:
針對jdk1.8以下
區域性內部類訪問區域性變數的時候,該變數必須被final修飾,區域性變數-->常量(常駐記憶體)
通過外部類訪問區域性內部類的成員方法;
建立外部類物件
使用外部類物件呼叫外部類的成員方法;
匿名內部類:
前提:介面/類(具體類/抽象類)
格式:new 介面名/類名() ;
匿名內部類的本質:繼承該類或者實現該介面子類(子實現類)物件
多型形成條件:
1)有繼承
2)有重寫
3)父類引用指向子類物件
多型中的成員訪問特點
a:成員變數
編譯看左邊,執行看左邊。
b:構造方法
建立子類物件的時候,會訪問父類的構造方法,對父類的資料進行初始化。
c:成員方法
編譯看左邊,執行看右邊。
d:靜態方法
編譯看左邊,執行看左邊。
有三種獲取位元組碼檔案物件的方式
1)getclass() ; 它可以獲取當前類的位元組碼檔案物件(class 類物件)
2)資料型別的class屬性
string.class student.class
3)class類提供了乙個靜態方法:
forname(string path):path:當前類的全路徑名稱 (開發中常用的)
hashcode() ; 返回的int型別整數型別理解位址值,它不是實際位址值(hashtable:雜湊表
跟他有關係)
getclass():class 類物件
string getname() ;返回的就是當前類的全限定名
包名.類名;
tostring():建議他所有的子類都重寫該方法
防止輸出物件名稱的時候,列印的是位址值
Java基礎之物件導向
注重點重點不同,面向過程注重的是過程,我是事務的執行者 物件導向注重物件,我是事務的指揮者。1.將複雜問題簡單化 2.從事物的執行者轉化為事物的指揮者 3.跟貼近人的思維,懶人思想 類 一類抽象事物的描述 模板 物件 用類建立出來的就是物件 具體的事物 區別 成員變數和區域性變數 區別 1.書寫位置...
Java基礎之物件導向(五)
一 介面 inte ce 1 概念 指用inte ce關鍵字修飾的一種型別 介面型別。他用於描述一系列功能性的方法,並讓子類實現。2 內容 1 介面不能有屬性,只能有被static final修飾的屬性及靜態常量。2 介面只能有抽象方法,不能有具體的方法。3 介面沒有構造器,所以不能建立物件,只能通...
java之物件導向
類是用於描述同一型別的物件的乙個抽象。類中定義了這一類物件所具有的靜態和動態屬性 靜態屬性 成員變數 動態屬性 方法 1 類可以看成是一類物件的模板,物件可以看成該類的乙個具體例項 2 首先必須定義類才能有物件 說到類,就不得不說構造其構造方法了 在new乙個物件是,呼叫的就是類中的構造方法 列如p...