一玉锌、面向?qū)ο?/h3>
-
對象:對象是類的實(shí)例,萬事萬物都是對象瓮顽。
- 類:對具有相同屬性和行為
方法
的對象的抽象县好。
二、特征
方法
的對象的抽象县好。1趣倾、封裝:將客觀存在的事物抽象成類聘惦,并且類內(nèi)存在的數(shù)據(jù)和方法只給一定的對象訪問,提高了安全性儒恋。
2善绎、繼承:將多個(gè)具有相同屬性和方法的類,高度抽象出一個(gè)擁有共性的父類诫尽,共性可以從父類中繼承禀酱,個(gè)性可以再本類中體現(xiàn)。
3牧嫉、多態(tài):一個(gè)類實(shí)例的相同方法在不同情形有不同表現(xiàn)形式.
/**
* Animal是Cat的父類剂跟,在實(shí)例化過程中可以有不同的及結(jié)果
*/
Animal a=st.new Cat();
Cat c=st.new Cat();
三、Java關(guān)鍵字
1酣藻、public:公有成員曹洽,可以被任意成員訪問。
2辽剧、private:私有成員送淆,只能在該類內(nèi)部被訪問。
3怕轿、protect:保護(hù)成員偷崩,可以在該類的子類或父類中進(jìn)行訪問。
4撞羽、static:定義完成后就已經(jīng)存在阐斜,不需要對象的調(diào)用,可以直接通過類名進(jìn)行調(diào)用诀紊。
public class Test {
public String a="a";
public final static String b ="b";
{
System.out.println("我是普通方法塊內(nèi)容谒出!");
}
static{
System.out.println("我是靜態(tài)方法塊內(nèi)容!");
}
public Test(){
System.out.println("我是構(gòu)造器方法內(nèi)容邻奠!");
}
public static void main(String[] args)
{
Test t = new Test();
System.out.println(t.a);
System.out.println(t.b);
/*
* 我是靜態(tài)方法塊內(nèi)容到推!
我是普通方法塊內(nèi)容礼患!
我是構(gòu)造器方法內(nèi)容嘉裤!
a
b
*/
System.out.println(Test.b);
}
}
5、abstract:用來定義類或是方法柔袁,在修飾類時(shí)唧喉,此類不可以被實(shí)例化捣卤,只有通過子類繼承忍抽,覆蓋父類中的抽象方法后,才可以實(shí)例化董朝;在修飾方法時(shí)鸠项,抽象方法只需要聲明,子類繼承后再去實(shí)現(xiàn)方法子姜。
package test_keyword;
public class AbstractTest {
/**
*定義一個(gè)Animal抽象類祟绊,其中包括抽象方法eat()和普通方法sleep()
*子類Cat繼承父類,重寫父類中的抽象方法哥捕,才可以被實(shí)例化后調(diào)用
*普通方法可以直接調(diào)用
*/
abstract class Animal{
public abstract void eat();
public void sleep(){
System.out.println("睡覺D脸椤!");
}
}
class Cat extends Animal{
//重寫父類中的抽象方法
public void eat(){
System.out.println("吃飯RW扬舒!");
}
}
public static void main(String[] args) {
AbstractTest at=new AbstractTest();
Cat c=at.new Cat();
c.eat();
//直接調(diào)用父類方法
c.sleep();
}
}
6、this:對象創(chuàng)建后凫佛,就會(huì)產(chǎn)生一個(gè)指向自己的指針“this”讲坎。只能在非靜態(tài)方法內(nèi)使用。
/**
*以重寫equals方法為例愧薛,判斷兩個(gè)對象是否相等
*以此判斷傳入對象的屬性與自身的屬性是否相同
**/
public boolean equals(Course other){
if(this.id.equals(other.id) && this.name.equals(other.name)){
return true;
}
return false;
}
7晨炕、super:用在子類中,訪問直接父類中被屏蔽的成員變量或是成員方法毫炉。
class Animal{
public int age;
public void show(){
age=11;
System.out.println("Animal年齡為:"+age);
}
}
class Cat extends Animal{
public int age;
public void show(){
super.show();//調(diào)用父類方法
age=12;
System.out.println("Cat年齡為:"+age);
System.out.println(super.age);//調(diào)用父類的age值
System.out.println(age);
}
}
/**
* Animal年齡為:11
* Cat年齡為:12
* 11
* 12
* @param args
*/
8瓮栗、break:跳出摸一個(gè)模塊。
9碘箍、continue:回到某個(gè)模塊開始遵馆。