類與對象概述
A:Java中最基本的單位是類,Java中用class描述事物也是如此
成員變量 就是事物的屬性
成員方法 就是事物的行為
B:定義類其實(shí)就是定義類的成員(成員變量和成員方法)
a:成員變量 和以前定義變量是一樣的,只不過位置發(fā)生了改變。在類中,方法外。
b:成員方法 和以前定義方法是一樣的,只不過把static去掉,后面在詳細(xì)講解static的作用。
C:類和對象的概念
a:類:是一組相關(guān)的屬性和行為的集合(我們班所有的同學(xué)都具備相同的屬性和行為,比如:姓名,年齡,學(xué)習(xí),這樣就把所有的學(xué)生成為學(xué)生類)
b:對象:是該類事物的具體體現(xiàn)(說某個同學(xué)時,他都具備自己特有的屬性和行為)
c:舉例:
類 學(xué)生
對象 具體的某個學(xué)生就是一個對象
創(chuàng)建類
public class Student {
//成員變量
//姓名
String name;
//年齡
int age;
//成員方法
//學(xué)習(xí)的方法
public void study() {
System.out.println("好好學(xué)習(xí),天天向上");
}
//吃飯的方法
public void eat() {
System.out.println("學(xué)習(xí)餓了要吃飯");
}
}
創(chuàng)建對象
創(chuàng)建對象:
格式:類名 對象名 = new 類名();
訪問成員:
成員變量:對象名.變量名
成員方法:對象名.方法名(...)
public class StudentDemo {
public static void main(String[] args) {
//格式:類名 對象名 = new 類名();
Student s = new Student();
//System.out.println("s:"+s); //com.itheima_02.Student@193c0cf
//直接輸出成員變量值
System.out.println("姓名:"+s.name); //null
System.out.println("年齡:"+s.age); //0
System.out.println("----------");
//給成員變量賦值
s.name = "林青霞";
s.age = 28;
//再次輸出成員變量的值
System.out.println("姓名:"+s.name); //林青霞
System.out.println("年齡:"+s.age); //28
System.out.println("----------");
//調(diào)用成員方法
s.study();
s.eat();
}
}
成員變量和局部變量的區(qū)別
A:在類中的位置不同
成員變量:類中,方法外
局部變量:方法中或者方法聲明上(形式參數(shù))
B:在內(nèi)存中的位置不同
成員變量:堆內(nèi)存
局部變量:棧內(nèi)存
C:生命周期不同
成員變量:隨著對象的創(chuàng)建而存在,隨著對象的消失而消失
局部變量:隨著方法的調(diào)用而存在,隨著方法的調(diào)用完畢而消失
D:初始化值的問題
成員變量:有默認(rèn)值
局部變量:沒有默認(rèn)值。必須先定義,賦值,最后使用
public class Variable {
int x;//成員變量
public void show() {
int y = 0;//局部變量
System.out.println(x);
System.out.println(y);
}
}