成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Java學(xué)習(xí)-面向?qū)ο?中)-創(chuàng)新互聯(lián)

Java學(xué)習(xí)-面向?qū)ο?中) 封裝

高內(nèi)聚低耦合,信息隱藏,屬性私有
private,set()、get()

創(chuàng)新互聯(lián)專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,成都服務(wù)器托管成都服務(wù)器托管,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。
public class Student{private int age;
	public int getAge(){return this.age;}
	public void setAge(int age){if(age<120 && age>0){this.age=age;}else{	System.out.println("輸入不合法");
		}
	}
}
public class Demo{public static void main(String[] args){Student s = new Student();
		s.setAge(-10);//輸入不合法
	}
}

封裝作用
1.保護(hù)數(shù)據(jù),提升程序安全性
2.隱藏代碼實(shí)現(xiàn)細(xì)節(jié)
3.統(tǒng)一接口
4.提高系統(tǒng)可維護(hù)性

繼承

extends,類之間的關(guān)系,除了繼承還有依賴、組合、聚合等

public class Person{public void say(){System.out.println("say something.");}
}
public class Student entends Person{}
public class Demo{public static void main(String[] args){Student s = new Student();
		s.say();//say something.
	}
}

子類擁有父類的全部方法
Object類:在Java中,所有的類都默認(rèn)繼承Object類
Java只有單繼承,沒有多繼承

super
public class Person{protected String name = "a";
	public Person(){System.out.println("Person無參構(gòu)造");}
	public void print(){System.out.println(Person);}
}
public class Student entends Person{private String name = "b";
	public Student(){System.out.println("Student無參構(gòu)造");}
	public void print(){System.out.println(Student);}
	public void test1(String name){System.out.println(name);
		System.out.println(this.name);
		System.out.println(super.name);
	}
	public void test2(){print();this.print();super.print();}
}
public class Demo{public static void main(String[] args){Student s = new Student();//Person無參構(gòu)造 \n Student無參構(gòu)造
		s.test1("c");//c \n b \n a
		s.test2();//Student \n Student \n Person
	}
}

super注意:
1.子類使用super調(diào)用父類的構(gòu)造方法,必須在構(gòu)造方法的第一個(gè)
2.super必須只能出現(xiàn)在子類的方法或構(gòu)造方法中
3.super和this不能同時(shí)調(diào)用構(gòu)造方法
super VS this:
代表對(duì)象不同:this調(diào)用者對(duì)象,super父類對(duì)象
前提不同:this沒有繼承也可以使用,super只能在繼承條件下才可以使用
構(gòu)造方法:this調(diào)用本類構(gòu)造,super調(diào)用父類構(gòu)造

重寫

靜態(tài)方法:靜態(tài)方法是類的方法,p調(diào)用父類Person的方法,實(shí)例化的子類對(duì)象向上轉(zhuǎn)型為父類對(duì)象

public class Person{public static void test(){sout("Person.test()");}
}
public class Student extends Person{public static void test(){sout("Student.test()");}
}
public class Demo{public static void main(String[] args){Student s = new Student();
		s.test();//Student.test()
		Person p = new Student();
		p.test();//Person.test()
	}
}

非靜態(tài)方法:非靜態(tài)方法是對(duì)象的方法,在子類實(shí)例化時(shí)重寫了父類的方法

public class Person{public void test(){sout("Person.test()");}
}
public class Student extends Person{public void test(){sout("Student.test()");}
}
public class Demo{public static void main(String[] args){Student s = new Student();
		s.test();//Student.test()
		Person p = new Student();
		p.test();//Student.test()
	}
}

重寫:
1.需要有繼承關(guān)系
2.方法名相同
3.參數(shù)列表相同
4.修飾符的范圍可以擴(kuò)大但不能縮小
5.拋出的異常:范圍可以被縮小但不能擴(kuò)大
6.快捷鍵:Alt+Insert → override
為什么需要重寫
子類不一定需要父類的功能,或者父類不一定滿足子類的需求

多態(tài)

動(dòng)態(tài)編譯
對(duì)象的實(shí)際類型是確定的,但可以指向的引用類型不確定

Person p = new Student();//父類的引用指向子類的類型
Object o = new Student();

子類能都用的方法,要么是自己的,要么是繼承的;父類只能調(diào)用自己的方法,不能調(diào)用子類獨(dú)有的方法

public class Person{public void run(){sout("Person.run()");}
}
public class Student extends Person{public void run(){sout("Student.run()");}
	public void eat(){sout("Student.eat()");}
}
public class Demo{public static void main(String[] args){Student s = new Student();
		s.eat();//Student.eat(),自己的
		s.run();//Student.run(),重寫的
		Person p = new Student();
		p.run();//Student.run(),重寫的
		p.eat();//×,子類獨(dú)有的
	}
}

注意:
1.多態(tài)是方法的多態(tài),屬性沒有多態(tài)
2.父類和子類有聯(lián)系,如果沒關(guān)系會(huì)有類型轉(zhuǎn)換異常,ClassCastException
3.存在條件:繼承關(guān)系、重寫,父類引用指向子類對(duì)象

public class Person{public void test(){sout("Person.test()");}}
public class Student extends Person{public void test(){sout("Student.test()");}}
public class Teacher extends Person{public void test(){sout("Teacher .test()");}}
public class Demo{public static void main(String[] args){Person p1 = new Person();
		Person p2 = new Teacher();
		Person p3 = new Student();
		p1.test();//Person.test()
		p2.test();//Teacher.test()
		p3.test();//Student.test()
	}
}

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

名稱欄目:Java學(xué)習(xí)-面向?qū)ο?中)-創(chuàng)新互聯(lián)
分享地址:http://jinyejixie.com/article38/gegpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、手機(jī)網(wǎng)站建設(shè)微信公眾號(hào)、網(wǎng)站建設(shè)、全網(wǎng)營銷推廣網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
兴城市| 安泽县| 肃南| 祁东县| 沐川县| 定陶县| 梓潼县| 贺兰县| 江门市| 漠河县| 西昌市| 海原县| 洮南市| 景宁| 平南县| 鹿邑县| 广河县| 九寨沟县| 金寨县| 沐川县| 阿克陶县| 河津市| 霍山县| 余姚市| 山东省| 孝感市| 台山市| 丰城市| 肥西县| 郁南县| 当阳市| 建宁县| 衡山县| 建湖县| 亳州市| 灵丘县| 建平县| 泸州市| 尉氏县| 门源| 江门市|