?文章來源地址http://www.zghlxwxcb.cn/news/detail-743517.html
??個(gè)人主頁:?Aileen_0v0
??系列專欄:PYTHON學(xué)習(xí)系列專欄
??個(gè)人格言:"沒有羅馬,那就自己創(chuàng)造羅馬~"
目錄
面向?qū)ο蟮奶卣骷袄斫?
new?
Static
Summary:
面向?qū)ο蟮奶卣骷袄斫?
?
面試題:oop的三大特征是什么?? ---> 封裝,繼承,多態(tài)
類,對象是什么?
類是自定義類型, 對象是實(shí)體
通俗的講類相當(dāng)于建房子的圖紙,對象相當(dāng)于通過圖紙建出來的所有房子?
通過一個(gè)類,可以產(chǎn)生多個(gè)對象
面向?qū)ο? 找對象 創(chuàng)對象? 使用對象?
面向?qū)ο?/strong>:注重的是對象,也就是參與過程所涉及到的主體。是通過邏輯將功能實(shí)現(xiàn)連接起來
面向過程: 1.把冰箱打開 2.把大象放入 3冰箱關(guān)起來
面向?qū)ο?/strong>:打開冰箱,儲存,關(guān)閉都是對冰箱的操作,是冰箱的行為。冰箱就是一個(gè)對象,所以只要操作冰箱所具備的功能,都要定義在冰箱中
package Test;
/**
* 訪問修飾限定符:
* public: + 公有的
* private: - 私有的
* protected: 受保護(hù)的
* 什么都不寫 : 默認(rèn)權(quán)限 -> 包訪問權(quán)限
*/
class Person{
//字段 -> 成員變量 : 定義在方法外邊 類 的 里面
//實(shí)例成員變量: 在對象Person里面
//實(shí)例化沒有初始化 默認(rèn)值為對應(yīng)的0值.-> (1.引用類型默認(rèn)為null 2.簡單類型默認(rèn)為0)
//我們也可以對實(shí)例成員變量進(jìn)行賦值
//char -> "\u0000"(空類型) boolean -> false
public String name = "lin";
public int age = 18;
// public char ch;
// public boolean flg;
//靜態(tài)成員變量 不屬于對象 屬于類 ---有static 修飾
public static int size = 100;
//方法 -> 行為 eat 和 sleep --- 實(shí)例成員方法
public void eat() {
int a = 10 ; //局部變量 --- 使用前需要初始化
System.out.println("eat()!" );
}
public void sleep() {
System.out.println("sleep()");
}
//靜態(tài)成員方法
public static void func1() {
System.out.println("static::func1()");
}
}
public class TestDemo{
public static void main(String[] args) {
//如何訪問靜態(tài)成員方法 ,跟靜態(tài)成員變量類似通過類名訪問
Person.func1();
}
public static void main4(String[] args) {
//如何訪問實(shí)例成員方法?
//跟成員變量類似,也需要?jiǎng)?chuàng)建一個(gè)對象進(jìn)行訪問
Person per = new Person();
per.eat();
per.sleep();
}
public static void main3(String[] args) {
//如何訪問靜態(tài)的數(shù)據(jù)成員?
//不需要new一個(gè)對象,直接通過類名就可以訪問了
// 類名.靜態(tài)成員變量
System.out.println(Person.size);
}
public static void main2(String[] args) {
Person per = new Person();
//如何訪問對象當(dāng)中的實(shí)例成員變量?
//操作符: 點(diǎn)號 對象的引用 . 成員變量
System.out.println(per.name);
System.out.println(per.age);
// System.out.println(per.ch);
// System.out.println(per.flg);
}
public static void main1(String[] args) {
//實(shí)例化一個(gè)對象 通過關(guān)鍵字 new
Person person1 = new Person();
Person person2 = new Person();
Person person3 = new Person();
Person person4 = new Person();
}
}
new?
注意:
new關(guān)鍵字用于創(chuàng)建一個(gè)對象的實(shí)例
使用 . 來訪問對象中的屬性和方法
同一個(gè)類可以創(chuàng)建多個(gè)實(shí)例
字段/屬性/成員變量
在類中,但是方法外部定義的變量.這樣的變量我們稱為“字段”或“屬性”或“成員變量"三種稱呼都可以一般不會嚴(yán)格區(qū)分).
用于描述一個(gè)類中包含哪些數(shù)據(jù)
使用 . 訪問對象的字段.
“訪問”既包含讀,也包含寫
對于一個(gè)對象的字段如果沒有顯式設(shè)置初始值,那么會被設(shè)置一個(gè)默認(rèn)的初值
默認(rèn)值規(guī)則:
。對于各種數(shù)字類型,默認(rèn)值為 0.
。對于 boolean 類型,默認(rèn)值為 false.
。對于用類型(String,Array, 以及自定制類), 默認(rèn)值為 null?
認(rèn)識 null
null 在Java 中為“空用",表示不引用任何對象,類似于C語言中的空指針如果對 null 進(jìn)行,操作就會引發(fā)異常?控制臺運(yùn)行結(jié)果:
初始化后:
?
利用對象.變量名進(jìn)行變量數(shù)據(jù)的修改
?
?對于static來說,要訪問靜態(tài)成員方法可以利用:類名.方法名
?靜態(tài)方法內(nèi)部不能夠訪問非靜態(tài)的數(shù)據(jù)成員
?
Static
如果在任何方法上應(yīng)用static 關(guān)鍵字,此方法稱為靜態(tài)方法
1.靜態(tài)方法屬于類,而不屬于類的對象
2.可以直接調(diào)用靜態(tài)方法,而無需創(chuàng)建類的實(shí)例。
3.靜態(tài)方法可以訪問靜態(tài)數(shù)據(jù)成員,并可以更改靜態(tài)數(shù)據(jù)成員的值總結(jié): 靜態(tài)有限制,非靜態(tài)沒有限制
? ? ? ? ?靜態(tài)方法不能直接使用非靜態(tài)數(shù)據(jù)成員或調(diào)用非靜態(tài)方法(非靜態(tài)數(shù)據(jù)成員和方法? ? ? ? ? ? ? ? ? ?是和實(shí)例相關(guān)的)
? ? ? ? ?曾經(jīng)寫的方法為了簡單,都統(tǒng)一加上了 static.但實(shí)際上一個(gè)方法具體要不要帶 ?????????static,都需要是情形而定
? ? ? ? ?main 方法為 static 方法?
package Test;
class Student{
public int age;//實(shí)例變量
public String name;//實(shí)例變量
public String sex; //實(shí)例變量
public static int count;//類變量,也叫靜態(tài)變量
public final int size = 10;
//被final修飾局部變量的用途 保護(hù)局部變量的值 一旦將局部變量聲明為final,它的值將被保護(hù)起來,不能被無意間或惡意地更改
public static final int COUNT = 99;
public class TestDemo1 {
public static void main(String[] args) {
Student stu = new Student();//person為對象的引用
stu.age = 10;
// stu.count = 100;
System.out.println(stu.age);
// System.out.println(stu.count);
}
}
}
?
Summary:
? ? ? ? 這部分介紹了類和對象的概念,以及方法和屬性?,然后我們可以通過關(guān)鍵字new創(chuàng)建對象
????????Java的變量包括(1.實(shí)例成員量,2.靜態(tài)成員變量-有static修飾) ,
????????方法包括(1.靜態(tài)成員方法,2.實(shí)例成員方法),
? ? ? ? 對于靜態(tài)變量和方法可以通過類名去訪問,而實(shí)例則需要?jiǎng)?chuàng)建對象,然后通過對象訪問
?文章來源:http://www.zghlxwxcb.cn/news/detail-743517.html
?
到了這里,關(guān)于JAVA- 面向?qū)ο缶幊?上)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!