1.什么是類和對象
對象: 萬物皆對象,只要是客觀存在
的事物
,我們都可以稱之為對象
;
我們把具體的事物
稱之為對象,這些對象都是看得見摸得著的;
什么是面向對象?
面向對象就是我們面向對象的一個過程,我們更加關注與這個對象是什么;
類de概念:
首先它是個抽象
的概念,實際上它是不存在的
,只是用來描述對象的信息;
用一個比喻,類就像是個模子
,它用來確定對象將會擁有的特征
和行為
,即屬性
和方法
;
什么是對象的屬性和方法?
屬性:就是這個對象擁有的各種特征,每個對象的每個屬性都擁有特定值;
方法:對象能夠執行的操作,說白了就是對象能夠干什么;
類的特點:
類是對象的類型;
具有相同屬性和方法的一組對象的集合;
類是抽想的概念,是不存在的,對象是客觀存在的事物;
換句話說:類是對象的抽象,對象是類的具體化;
類的重要性
所有Java程序都以類class為組織單元;
類的組成:屬性和方法
定義一個類的步驟:
- 定義類名
- 編寫類的屬性
- 類的方法
public class 類名{
//定義屬性部分(成員變量)--》有什么
屬性1的類型 屬性1;
屬性2的類型 屬性2;
...
屬性n的類型 屬性n;
// 定義方法部分(可以有多個方法,也可以沒有方法)--》干什么
方法1;
方法2;
...
方法m;
}
使用對象的步驟:
1.創建對象(實例化)
類名 對象名 = new 類名();
2.使用對象
- 引用對象的屬性:
對象名.屬性
- 引用對象的方法:
對象名.方法名()
代碼實現:
public class Telphone{
float screen;
float cpu;
void sendMessage(){
System.out.println("發短信");
}
void watchTV(){
System.out.println("看電視");
}
}
public static void main(String[] args){
Telphone phone = new Telphone;
phone.screen = 5;//給screen屬性賦值5
phone.sendMessage();//調用sendMessage()方法;
}
- float類型,賦值時后面要加f
- 未賦初值,默認為0.0
描述對像通常有成員變量和局部變量來描述
成員變量: 在類中定義,用來描述對象將要有設么;
局部變量:在方法中定義;
成員變量與局部變量的區別
1.作用域不同
局部變量的作用域僅限于定義它的方法中使用,其他的方法不能調用;
成員變量的作用于在整個類內部都是可見,即在整個類中定義的所有方法都可以調用成員變量
2.初始值不同
Java會默認給成員變量一個初始值0;
但Java不會給局部變量一個初始值;
這里,成員變量可以值聲明不賦值,Java會給他個默認值為0;但是局部變量必手動給他個初始值,不然會報成員變量未初始化;
3.在同一個方法中,不允許有同名局部變量;
但是在不同的方法中,可以有同名局部作用域,因為他們只能在自己的方法中起作用,互不影響;
4.兩類變量同名時,局部變量具有更高的優先級,就近原則;
Java中的構造方法
使用new+構造方法 創建一個新的對象
Java中static使用之靜態變量
Java 中被 static
修飾的成員
稱為靜態成員
或類成
員。
它屬于整個類所有
,而不是某個對象所有,即被類的所有對象所共享。
靜態成員可以使用類名
直接訪問,也可以使用對象名
進行訪問。當然,鑒于他作用的特殊性更推薦
用類名
訪問;
使用 static 可以修飾變量
、方法
和代碼塊
。
注意:靜態成員
屬于整個類
,當系統第一次使用該類時,就會為其分配內存空間, 直到該類被卸載才會進行資源回收!
記住:public
修飾符表示公開的、公有的,靜態變量要使用 static
修飾;
Java 中的 static 使用之靜態方法
與靜態變量一樣,我們也可以使用 static 修飾方法,稱為靜態方法
或類方法
。
其實之前我們一直寫的 main 方法就是靜態方法。靜態方法的使用如:
需要注意:
1、 靜態方法中可以直接調用同類中的靜態成員,但不能直接調用非靜態成員。如:
如果希望在靜態方法中調用非靜態變量,可以通過創建類的對象,然后通過對象來訪問非靜態變量。如:
2、 在普通成員方法中,則可以直接訪問同類的非靜態變量和靜態變量,如下所示:
3、 靜態方法中不能直接調用非靜態方法,需要通過對象來訪問非靜態方法。如:
注意:
靜態方法是屬于類的,內存必須為它分配內存空間,這個空間一直由靜態方法占用,內存管理器不會由于靜態方法沒有被調用而將靜態方法的存儲空間收回,這樣如果將所有的方法都聲明為靜態方法,就會占用大量的內存空間,最后是系統變慢。
而普通的成員方法是由對象調用的,內存并不會一直為起分配內存,只有調用的時候才為其分配存儲空間,而當其沒有被調用時,存儲空間就會被內存管理其收回,釋放沒有用的空間,提高的系統的運行速率!