1.面向對象思想
萬物皆爲對象,每個對象都有自己的屬性和行爲,相對於面向過程編程而言提高了代碼的可重用型。
面向對象的特徵:封裝、繼承、多態,提高了系統的靈活性,健壯性。
2.類與對象及其使用
抽象類的過程:
類 對象
成員變量 <——————>對象的屬性
成員方法 <——————>對象的行爲和動作
兩者的關係:類是對象的抽象,對象是類的實例化;
Student s = new Student();
3.成員變量和局部變量的區別
(1)在類中的位置不同
成員變量:在類中方法外
局部變量:在方法中
(2)在內存中的位置不同
成員變量:在堆內存中
局部變量:在棧內存中
(3)生命週期不同
成員變量:隨着對象的創建而存在,隨着對象的消失而消失
局部變量:隨着方法的調用而存在,隨着方法的調用完畢而消失
(4)初始值不同
成員變量:有默認值
局部變量:沒默認值,必須初始化才能使用;
4.匿名對象
只調用一次,是沒有名字的對象。
5.封裝(private)
好處:
a.隱藏內部實現細節,提供公共的訪問方式
b.提高了代碼的安全性
c.提高了代碼的複用性
6.this,super關鍵字
this代表當前的的引用對象——在構造方法對成員變量進行初始化的時候常用
super代表當前引用對象的父類
7.構造方法
作用:主要是對對象的數據進行初始化;
格式:方法名和類名一致,沒有void,沒有返回值;
注意:構造方法裏面的末尾是可以加return;的,沒有影響
8.static關鍵字
1.特點:隨着類的加載而加載,優先於對象的存在,被所有的對象共享,通過類名直接調用,也可以通過
new出來的對象來調用。
2.內存位置:在方法區的靜態區;
3.注意事項:靜態只能訪問靜態;
拓展:main方法——程序的主入口
public static void main(String args []){}
public:權限最大
static:不用創建對象調用
void:返回值給jvm沒有意義
main:就是一個常見的名稱。
String[] args:可以接收數據,提供程序的靈活性
格式:java Test hello world java