内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

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.保護數(shù)據(jù),提升程序安全性
2.隱藏代碼實現(xiàn)細節(jié)
3.統(tǒng)一接口
4.提高系統(tǒng)可維護性

繼承

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中,所有的類都默認繼承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)造方法的第一個
2.super必須只能出現(xiàn)在子類的方法或構(gòu)造方法中
3.super和this不能同時調(diào)用構(gòu)造方法
super VS this:
代表對象不同:this調(diào)用者對象,super父類對象
前提不同:this沒有繼承也可以使用,super只能在繼承條件下才可以使用
構(gòu)造方法:this調(diào)用本類構(gòu)造,super調(diào)用父類構(gòu)造

重寫

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

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)方法是對象的方法,在子類實例化時重寫了父類的方法

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.修飾符的范圍可以擴大但不能縮小
5.拋出的異常:范圍可以被縮小但不能擴大
6.快捷鍵:Alt+Insert → override
為什么需要重寫
子類不一定需要父類的功能,或者父類不一定滿足子類的需求

多態(tài)

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

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

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

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();//×,子類獨有的
	}
}

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

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海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

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

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

廣告

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

成都app開發(fā)公司
鲁山县| 仙桃市| 阿拉尔市| 花垣县| 保山市| 鄂托克旗| 刚察县| 辰溪县| 沽源县| 什邡市| 龙口市| 七台河市| 峨眉山市| 漳平市| 东乌珠穆沁旗| 江孜县| 沁源县| 尼勒克县| 富平县| 杂多县| 洮南市| 清水县| 庐江县| 湟源县| 巴彦淖尔市| 东乌珠穆沁旗| 朔州市| 铜陵市| 柳河县| 安图县| 夏邑县| 克东县| 福安市| 台北市| 雷山县| 建昌县| 米泉市| 淮北市| 祁东县| 安徽省| 昆山市|