1.了解面向?qū)ο蠛兔嫦蜻^程的區(qū)別
編程思路
面向過程:按照功能的先后順序,以此實(shí)現(xiàn)對應(yīng)的方法
面向?qū)ο螅悍治稣麄€項(xiàng)目參與的實(shí)體,找到有共同點(diǎn)的實(shí)體,將實(shí)體抽象為類,用類來封裝屬性和方法。
執(zhí)行方式
面向過程:按照功能的先后順序來執(zhí)行
面向?qū)ο螅河杏|發(fā)性,調(diào)用就執(zhí)行,不調(diào)用不執(zhí)行
2.類與對象
類:某一類事物共有屬性和行為的高度抽象→概念(不存在)
對象:某個類的具體存在→實(shí)體(實(shí)際存在)
·創(chuàng)建一個類
在一個創(chuàng)建的module下創(chuàng)建一個package,在package下創(chuàng)建一個Student類


public:公共的、公開的(外部可以訪問,當(dāng)類被public修飾,這個類必須與文件名相同
· private:私有的(外部不可以訪問)
·class:關(guān)鍵詞-表示一個類
·Student:類名(首字母必須大寫),同一個文件里面可以申明多個類,只能有一個public類
·為了閱讀性和更好的管理,通常一個文件里面只申明一個類, 如果有多個類通常會以內(nèi)部類的形式存在
/**
* @Description 學(xué)生信息
* @Author 空添
*/
public class Student {
public class Teacher{
}
}
·對象的創(chuàng)建(對象的創(chuàng)建=類的實(shí)例化)
· new創(chuàng)建一個對象,Student() 這個類提供的構(gòu)造方法,每個類的構(gòu)造方法都不同,要適用對應(yīng)的構(gòu)造方法。
package com.example.lib;
import com.example.lib.day1.Student;
public class MyClass {
Student xw = new Student();
}
在電腦中相關(guān)內(nèi)存分配
·堆區(qū):new 動態(tài)分配內(nèi)存 malloc calloc realloc→必須手動釋放
·棧:系統(tǒng)分配的內(nèi)存 系統(tǒng)自動回收

·在程序結(jié)束后,棧里的xw自動釋放掉內(nèi)存,原理上0x200需要手動釋放,但java有自動回收機(jī)制,不需要手動釋放
指針和引用的關(guān)系
· 指針變量保存的是地址,引用和指針是同一個東西,java為了使編程更加輕松,就對指針進(jìn)行封裝→引用,不需要看到各種*
· 在java編程時,盡量不要使用指針的方法去理解,用對象來代替

package com.example.lib;
import com.example.lib.day1.Student;
public class MyClass {
Student xw = new Student();
Student gblw = xw;//引用
}
·屬性和方法
屬性(成員變量):記錄一些數(shù)據(jù),例如新建一個Card屬性(money,pwd)

此時已經(jīng)新建了一個age的屬性,無法訪問是由于:新建的屬性默認(rèn)使用protected修飾符修飾即在同一個包里可以訪問對象的屬性,外部無法直接訪問,而public表示包內(nèi)包外都可以訪問,所以在新建屬性時應(yīng)該在前方添加public
·屬性的聲明一般位于類的最上部分,屬性的訪問使用zs.name的形式
public class Student {
public String name;//記錄學(xué)生的名字
public int age;//記錄學(xué)生的年齡
}
屬性除了public和proteect兩個修飾符外,還有private這個修飾符,只有對象內(nèi)部才可以使用,即使在同一包內(nèi)也不可以訪問