關於JAVA的小小的筆記

b站上JAVA好厲害的網課呢

java extend 和 implements 的區別

extend

在類的聲明中,通過關鍵字extends來創建一個類的子類。extends 是繼承某個類, 繼承之後可以使用父類的方法,也可以重寫父類的方法;
extends是繼承父類,只要那個類不是聲明爲final或者那個類定義爲abstract的就能繼承,JAVA中不支持多重繼承,但是可以用接口 來實現,這樣就要用到implements,繼承只能繼承一個類,但implements可以實現多個接口,用逗號分開就行了
比如 class A extends B implements C,D,E

implements

一個類通過關鍵字implements聲明自己使用一個或者多個接口。 implements 是實現多個接口, 接口的方法一般爲空的, 必須重寫才能使用

一個繼承的例子(定義類和對象,實現收發紅包的操作)

在這裏插入圖片描述
定義羣主的類(繼承user中的靜態變量和構造方法)
在這裏插入圖片描述

在羣主子類中寫發紅包的方法
在這裏插入圖片描述
用user寫普通成員的子類
在這裏插入圖片描述
生成羣主和成員的對象,開始發錢啦

在這裏插入圖片描述

java中public與private以及protected和(default)分別是什麼

public>protected>(default)>privated

private:代表私有的,修來飾變量自只能在本類訪問,private方法子類不能繼承。
public:是最大權百限,都可以訪問,是公共的度。

Java中定義一個屬性 爲什麼要加private?加和不加的區別是什麼?

java是面嚮對象語言,一切成員都會封裝在一個類中,定義成抄private是爲了更好地隱藏,對外暴露的是setter和getter方法,所以可以通過setter設置值,getter來取值,達到模塊隱藏的目的。

JAVA中的protected

我們採取的最好的做法是保持成員的private狀態——無論如何都應保留對基
礎的實施細節進行修改的權利。在這一前提下,可通過protected方法允許類的繼承者進行受到控制的訪問:
在這裏插入圖片描述

Java switch case 語句

switch case 語句判斷一個變量與一系列值中某個值是否相等,每個值稱爲一個分支。 switch case 語句語法格式如下:
在這裏插入圖片描述

switch(expression){
    case value :
       //語句
       break; //可選
    case value :
       //語句
       break; //可選
    //你可以有任意數量的case語句
    default : //可選(當所有case值都不匹配的時候,用default收尾)
       //語句
}

區分類中的三種變量—super(父類中方法)、this(本類中)、原名(局部)

在這裏插入圖片描述

super的使用範圍

在這裏插入圖片描述

this的適用範圍
在這裏插入圖片描述

覆蓋重寫

是一種檢測是否爲重寫操作的一種方法,例如 private void method{} // method必須是父類中已經有的方法
在這裏插入圖片描述

方法定義及調用

方法的定義(JAVA中沒有函數,只有方法)

在這裏插入圖片描述

在這裏插入圖片描述在這裏插入圖片描述

方法的三種調用格式

在這裏插入圖片描述

在這裏插入圖片描述

對比有參數方法和無參數方法

在這裏插入圖片描述

對比有返回值和無返回值的方法

對於無返回值的只能進行單獨調用
對於有返回值的能進行單獨調用、打印調用、賦值調用
在這裏插入圖片描述
在這裏插入圖片描述

使用方法的注意事項的總結
在這裏插入圖片描述

方法的重載:用一樣的方法名,其他的不變(overload)

特點:多個方法的名稱一樣但是參數列表不一樣,比如 兩數相加、三數相加、四數相加·····
好處:只需要記住一個方法的名稱就可以實現類似的功能
(意思就是把sumtwo,sumthree,sumfour全部改爲sum)

在這裏插入圖片描述
在這裏插入圖片描述

類和對象(含義、組成、如何定義和創建)

類:抽象(定義屬性和行爲,相當於圖紙)
對象:類的具體化,變成可操作性的實體
在這裏插入圖片描述

類的定義(成員變量、成員方法)

ps: 1、成員變量與其他變量不同,定義在方法外面

2、成員方法不寫static關鍵字
在這裏插入圖片描述
在這裏插入圖片描述

根據類創建對象

在這裏插入圖片描述

在對象中使用類的成員變量(使用或者改變)—有默認值

在這裏插入圖片描述

在對象中使用類的成員方法

在這裏插入圖片描述

局部變量和成員變量

在這裏插入圖片描述
在這裏插入圖片描述

private的作用,通過getter和setter來做一些限制,進而在實例中更好的描述數據

private的作用

private age之後,只有當前類可以使用age,在實例中無法直接調用age ,必須用setter和getter來訪問或者設置age。
在這裏插入圖片描述

類的定義

在這裏插入圖片描述

實例

在這裏插入圖片描述

練習private的使用(特別boolean中getter是用isXxx)

在這裏插入圖片描述

實例

在這裏插入圖片描述

this

當局部變量與全局變量重名時,會採取就近原則,使用局部變臉,當想用類中的全局變量是加this,this.name
在這裏插入圖片描述

定義一個標準的類

創建類(有參數,無參數,getter和setter)
在這裏插入圖片描述

在這裏插入圖片描述

生成對象

在這裏插入圖片描述

多態

多態概述(對象小明既有父類形態,也有子類形態)

在這裏插入圖片描述

多態的格式及使用(左父右子)

子類
在這裏插入圖片描述父類
在這裏插入圖片描述

對象

在這裏插入圖片描述

接口

在這裏插入圖片描述

線程

start作用(使兩個線程併發執行)

在這裏插入圖片描述

如何創建一個線程

1、extend一個線程類,重寫線程類中的run方法
2、創建線程類中的子類對象
3、調用thread中的start方法,實現線程併發
在這裏插入圖片描述
1、extend一個線程類,重寫線程類中的run方法
在這裏插入圖片描述2、創建線程類中的子類對象,調用thread中的start方法,實現線程併發
在這裏插入圖片描述
ps:主線程是靠main函數開啓的
在這裏插入圖片描述

Thread類中的sleep方法(開一個線程,延遲時間-模擬時鐘)

在這裏插入圖片描述

Thread類中的獲取線程名稱的方法

這裏是引用

在類中重寫run,定義出獲取線程名稱的操作(getName、currentThread)

在這裏插入圖片描述

創建一個子對象、進行輸出

在這裏插入圖片描述

static關鍵字

在類中定義一個static關鍵字, 在對象中賦值之後,那麼由此類生成的對象都共有static這個關鍵字,節省了內存空間

用static聲明成員變量(靜態變量)
student類,有name、age、和static room

在這裏插入圖片描述
在這裏插入圖片描述
這種情況下,兩個對象都顯示101教室

利用static進行idcounter
在這裏插入圖片描述

用static修飾成員方法(靜態方法)
類中的靜態方法不必要創建對象,直接類名:方法名
類中的成員方法必須要創建對象,調用對象中的方法纔可以。

在這裏插入圖片描述
靜態不能直接訪問非靜態在這裏插入圖片描述

匿名對象

new 類名;只能使用一次
在這裏插入圖片描述

在這裏插入圖片描述

構造方法

注意事項
在這裏插入圖片描述
類定義(定義了一個無參一個有參的構造方法)

在這裏插入圖片描述
生成對象(利用了有參,無參,getter、setter)

在這裏插入圖片描述

抽象類

抽象的概念

如果父類當中的方法不確定{}方法進行,那麼這就應該是一個抽象方法
在這裏插入圖片描述

抽象類和抽象方法的定義

在這裏插入圖片描述

抽象類的使用

抽象類的注意事項

在這裏插入圖片描述

不能直接new抽象類的對象,必須用一個子類來繼承抽象父類,並重寫所有抽象方法(兩個類,一個對象)

抽象類

在這裏插入圖片描述
這是錯誤的
在這裏插入圖片描述
繼承後的抽象子類,這是正確的
在這裏插入圖片描述

對子類生成對象

在這裏插入圖片描述
在這裏插入圖片描述

finnal關鍵字

finnal修飾類

finnal關鍵字代表 最終、不可改變
在這裏插入圖片描述
用finnal關鍵字修飾一個類的時候,這個類不能有子類,更別提覆蓋重寫了
在這裏插入圖片描述

finnal修飾方法

無論是在類還是函數中,finnal abstract 這種寫法都是完全不對自相矛盾的
finnal修飾的方法不能進行覆蓋重寫
在這裏插入圖片描述

finnal修飾變量

finnal修飾局部變量,一次賦值,終生不變
這裏是引用
finnal修飾的局部變量地址不變,地址名字可以改變
例如 finnal int num1=10;num1 =20 錯誤
可以 方法.getname
在這裏插入圖片描述

finnal修飾局部變量(必須要手動賦值:直接賦值或者用構造方法賦值)

在這裏插入圖片描述

內部類

內部類的定義

在這裏插入圖片描述

內部類的方法以及使用
內部類可以訪問成員變量,以及外部方法
在這裏插入圖片描述

Random類的使用

Random是一個JAVA的類,使用的話首先把包含這個類的package導入,然後把這個類導入,然後要記住——類必須新建對象才能用!!!!在這裏插入圖片描述
得出帶範圍的Random
在這裏插入圖片描述
在這裏插入圖片描述

API(包、類、構造方法、成員方法)

API就是一本程序員隨手使用的字典,除了自己編寫類,JDK給我們提供了很多的類供我們調用。需要哪個類或者類中的方法,只要查查JDK API的官方文件,看看具體類中的方法使用 然後調用就好了
在這裏插入圖片描述

Data類的使用

在這裏插入圖片描述

System類的使用

提供了大量系統級的操作或者獲取系統相關的信息,比如說返回當前時間

在這裏插入圖片描述

獲取以毫秒爲單位的時間
在這裏插入圖片描述

在這裏插入圖片描述

接口

關於接口的詳解
接口的格式

常量、抽象方法、默認方法、靜態方法、私有方法在這裏插入圖片描述

接口中定義抽象方法,所有版本都可以在接口中定義抽象方法(public abstract)

在這裏插入圖片描述

接口的使用步驟

在這裏插入圖片描述

定義一個類implement接口定義,並重寫其中所有的抽象方法

在這裏插入圖片描述

創建該抽象類的對象

在這裏插入圖片描述

從Java8開始 接口中可以定義默認方法(爲了解決更新接口的問題)

在這裏插入圖片描述
創建實現類對象,直接使用默認方法
在這裏插入圖片描述

接口中定義常量

在這裏插入圖片描述
訪問接口中的常量(直接用方法.常量)

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章