Java学习笔记_类和对象
·類:是一組相關屬性和行為的集合,可以看成是一類事務的模板,使用事物的屬性特征和行為特征來描述該類事物。
·屬性:該事物的狀態信息
·行為:就是該事物能夠做什么
·對象:一類事物的具體體現,對象是類的一個實例,必然具備該類事物的屬性和行為。
成員變量:
String name;
int age;
成員方法:
public void eat( ){ }
public void sleep( ) { }
注意事項:
public class Student {
String name;
int age;
}
通常情況下,一個類并不能直接使用,需要根據類創建一個對象,才能使用
導包:也就是指出需要使用的類,在什么位置
import 包名稱.類名稱
對于和當前類屬于同一個包的情況,可以省略導包語句不寫
創建,格式
類名稱 對象名 = new 類名稱();
Student stu = new Student();
使用
使用成員變量:對象名.成員變量名
使用成員方法:對象名.成員方法名(參數)
局部變量和成員變量
定義的位置不一樣
局部變量:在方法內部
成員變量:在方法外部,直接寫在類當中
作用范圍不一樣
局部變量:只有方法當中才可以使用,出了方法就不能再用
成員變量:整個類全部可以通用
默認值不一樣
局部變量:沒有默認值,如果想要使用,必須手動進行賦值
成員變量:如果沒有賦值,會有默認值,規則和數組一樣
內存的位置不一樣
局部變量:位于棧內存
成員變量:位于堆內存
生命周期不一樣
局部變量:隨著方法進棧而誕生,隨著方法出棧而消失
成員變量:隨著對象創建而誕生,隨著對象被垃圾回收而消失
面向對象的三大特征:封裝、繼承、多態
封裝性在Java中的體現:
封裝就是將一些信息隱藏起來,對于外界不可見
public class Demo{public static void main(String[] args){int[] array = {5,15,25,20,100};int max = getMax(array);System.out.println(“最大值:” + max)}//給我一個數組,我還給你一個最大值public static int getMax(int[] array){int max = array[0];for(int i = 1;i < array.length; i++){if(array[i] > max){max = array[i];}}return max;} }問題描述:定義Person的年齡時,無法阻止不合理的數值被設置進來
解決方案:用private關鍵字將需要保護的成員變量進行修飾。
一旦使用了private進行修飾,那么本類當中仍然可以隨意訪問,
但是,超出了本類范圍之外就不能再直接訪問了。
間接訪問private成員變量,就是定義一對Getter/Setter方法
必須是setXxx或者getXxx命名規則
對于Getter來說,不能有參數,返回值類型和成員變量對應
對于Setter來說,不能有返回值,參數類型和成員變量對應
對于基本類型中的boolean值,Getter方法一定要寫成isXxx的形式,
而setXxx規則不變。
當方法的局部變量和類的成員變量重名的時候,根據就近原則,優先使用局部變量。
如果需要訪問本類當中的成員變量,需要使用格式:
this.成員變量
”通過誰調用的方法,誰就是this”
public class Person{String name;//參數name是對方的名字//成員變量name是自己的名字public void sayHello(String name){System.out.println(name + “,你好,我是” + this.name);} }構造方法是專門用來創建對象的方法,當我們通過關鍵字new來創建對象時,其實就是在調用構造方法。
格式:
public 類名稱(參數類型 參數名稱){
方法體
}
注意事項:
總結
以上是生活随笔為你收集整理的Java学习笔记_类和对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java学习笔记_数组
- 下一篇: Java学习笔记_匿名/ArrayLis