免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
8.oop-多態(tài)

一.繼承
1.定義:子類繼承父類,會繼承父類的屬性和方法
2.語法:extends關(guān)鍵字 子類 extends 父類
3.特點:java中的繼承是單一繼承,子類只能繼承一個父類,但是父類可以有多個子類
4.用途:可以將共性的部分寫到父類中,子類保留自己的個性特征
5.哪些不能被繼承:父類的構(gòu)造方法,私有的屬性和方法

二.方法的重寫
1.必須是子類重寫父類的方法,所以是發(fā)生在兩個類中
2.方法的簽名必須一致,訪問修飾符可以不一樣,但子類不能嚴于父類

三.繼承后的代碼執(zhí)行順序
1.父類的屬性--父類的構(gòu)造方法--子類的屬性--子類的構(gòu)造方法

四.supper關(guān)鍵字
1.定義:代表父類的引用
2.作用:可以調(diào)用父類的屬性和方法,包括構(gòu)造方法
3.注意:如果調(diào)用父類構(gòu)造方法,必須是在子類構(gòu)造方法中的第一句

五.final關(guān)鍵字
1.定義:最終版本
2.可以修飾:類,屬性,方法
3.作用:
修飾類:該類不能被繼承
修飾屬性:叫常量,聲明時必須賦值,并且不能改變.常量的命名規(guī)則是全部大寫
修飾方法:不能被重寫

六.多態(tài)
1.一種事務(wù)的多種形態(tài)。
2.實現(xiàn)步驟:
a.子類繼承父類,重寫父類的方法
b.父類作為形參來代替所有的子類
c.在調(diào)用時,用父類的類型指向子類的對象

七.例子

1.請設(shè)計多個類,程序員,醫(yī)生,演說家,歌手四個類
設(shè)計相關(guān)屬性和職業(yè)行為,并且看怎么優(yōu)化設(shè)計
共性的屬性有:姓名,年齡,性別,職業(yè)
共性的方法有:自我介紹,吃飯,睡覺
特性的方法有:各自如何賺錢
特有的屬性:各自特有的屬性

2.人物采訪:
要求:主持人主持一檔節(jié)目,叫做人物訪談,可以采訪各種職業(yè)的人
采訪過程:
1.主持人先報廣告贊助商
2.被采訪人自我介紹
3.被采訪人介紹自己的賺錢方式
4.主持人說下集預(yù)告
設(shè)計程序,要求主持人可以采訪任何類型的職業(yè)人,采訪流程不變。

加一個新的采訪職業(yè)。老師

package com.demo1106;/** * 職業(yè)案例 * @author allen * */public class Profession {	public static void main(String[] args) {		Programmer p = new Programmer();		p.coding();	}}class Person {	//姓名,年齡,性別,職業(yè)	String name;	int age;	String sex;	String profession;	final String HELLO = "你好";//常量,一旦聲明就必須賦值,并且不能被修改	static{		System.out.println("我是父類靜態(tài)");	}	public Person() {//子類繼承父類,構(gòu)造子類必先構(gòu)造父類		System.out.println("我是父類構(gòu)造方法");	}		public void eat(){		System.out.println("吃米飯");	}		public void sleep(){		System.out.println("睡覺八小時");	}		public void intrduce(){		System.out.println("我叫" name);	}}class Programmer extends Person{	static{		System.out.println("我是子類靜態(tài)");	}	public Programmer() {		super();		System.out.println("我是子類構(gòu)造方法");	}		public void coding(){		super.intrduce();		System.out.println("我賺錢的方法時:我會編碼");	}	@Override//這個叫注解  此處的含義是告訴java這個方法是重寫父類的方法,他有檢查功能	public void sleep(){		System.out.println("我要加班,睡覺4個小時");	}	}class Doctor extends Person{	String level;//級別		public void operation(){		System.out.println("我賺錢的方式:做外科手術(shù)");	}	@Override	public void eat(){		System.out.println("我吃面,還不用面條鮮");	}}

  

?

package com.demo1106;/** * 任務(wù)采訪案例 */public class Interview {	public static void main(String[] args) {		Compere cp = new Compere();//		People p = new Actor("芙蓉姐姐", "網(wǎng)紅", "海文公司");//		父類的類型指向子類的對象		People p = new Doctorer("某某某", "主任醫(yī)師", "長沙湘雅附二");		cp.doProgram(p);	}	}class Compere{	String name;		//主持節(jié)目	public void doProgram(People p){		//1234		System.out.println("我是主持人:" name ",感謝CCTV,所有TV");		p.introduce();		p.makeMoney();		System.out.println("我是主持人,感謝收看本級,下期再見");	}	//	public void doProgramToActor(Actor a){//		//1234//		System.out.println("我是主持人:" name ",感謝CCTV,所有TV");//		a.intrduce();//		a.makeMoney();//		System.out.println("我是主持人,感謝收看本級,下期再見");//	}//	//	public void doProgramToLawyer(){//		//1234//	}}//第一次優(yōu)化//將被采訪人的自己的行為規(guī)范到被采訪人類中//將該類作為形參傳遞給主持人的主持節(jié)目方法class Doctorer extends People{	//String name;來源于父類	String level;//自己值留下特征	//String company;//就職單位			@Override	public void introduce(){		System.out.println("我是:" name ",我的級別是:" level ",我就職于:" company);	}	public Doctorer(String name,String level,String company) {		this.name = name;		this.level = level;		this.company = company;	}	@Override	public void makeMoney(){		System.out.println("我賺錢的方式是做手術(shù)做一半要紅包");	}}class Actor extends People{//	private String name;	private String type;//	private String company;		public Actor(String name, String type, String company) {		this.name = name;		this.type = type;		this.company = company;	}	@Override	public void introduce(){		System.out.println("我是:" name ",我就職于:" company);	}	@Override	public void makeMoney(){		System.out.println("我賺錢的方式是潛規(guī)則上位");	}}//第二次優(yōu)化://1可以將所有被采訪者抽取他們的共性到一個父類中。//2被采訪者可以繼承這個父類并且重寫父類中的方法//3可以將主持人中的主持方法參數(shù)由原來的被采訪者改為他們的父類class People{	String name;	String company;		public void introduce(){			}		public void makeMoney(){			}}

  

package com.demo1106;//繼承的語法案例public class Demo{	public static void main(String[] args) {		Children c = new Children();		c.name = "張三瘋";		c.eat();	}}class Father {	String name;	int age;	String sex;		public void eat(){		System.out.println("我喜歡吃米飯");	}		public void run(){		System.out.println("每分鐘跑200米");	}}class Children extends Father{	String characate;		public void play(){		System.out.println("我們喜歡擼啊擼");	}}

  

/* * 1.請設(shè)計多個類,程序員,醫(yī)生,演說家,歌手四個類設(shè)計相關(guān)屬性和職業(yè)行為,并且看怎么優(yōu)化設(shè)計共性的屬性有:姓名,年齡,性別,職業(yè)共性的方法有:自我介紹,吃飯,睡覺特性的方法有:各自如何賺錢特有的屬性:各自特有的屬性 *  */package com.class1106;public class Class01 {	public static void main(String[] args) {		// TODO Auto-generated method stub		Person pg=new Programmer();		pg.introduce();		pg.eat();		pg.sleep();		pg.getmoney();			}}class Person{	String name;	int age;	String sex;	String profession;		public void introduce(){		System.out.println("我是" name ",性別是" sex ",今年" age "歲" ",職業(yè)是" profession);	}	public void eat(){		System.out.println("我會吃飯");	}	public void sleep(){		System.out.println("我還會睡覺");	}	public void getmoney()	{			}}class Programmer extends Person{	String thought;	public void getmoney()	{		System.out.println("我通過寫代碼賺錢");	}}class Doctor extends Person{	String cloth;	public void getmoney(){		System.out.println("我通過給人治病賺錢");	}}class Speaker extends Person{	String eloquence;	public void getmoney(){		System.out.println("我通過演講賺錢");	}}class Singer extends Person{	String sound;	public void getmoney()	{		System.out.println("我通過唱歌賺錢");	}}

  

/* * 2.人物采訪:要求:主持人主持一檔節(jié)目,叫做人物訪談,可以采訪各種職業(yè)的人采訪過程:	  1.主持人先報廣告贊助商      2.被采訪人自我介紹      3.被采訪人介紹自己的賺錢方式      4.主持人說下集預(yù)告設(shè)計程序,要求主持人可以采訪任何類型的職業(yè)人,采訪流程不變。加一個新的采訪職業(yè)。老師 */package com.class1106;public class Class02 {	public static void main(String[] args) {		// TODO Auto-generated method stub		Host h=new Host();		People p1=new Doctor1("華佗",100,"醫(yī)生","院長");		h.interview(p1);				People p2=new Teacher1("曹操",111,"老師","三國軍事學(xué)院");		h.interview(p2);			}}class Host{	String name="陳魯豫";		public void interview(People p)	{		System.out.println("我是主持人" name ",本節(jié)目由五糧液冠名播出");		p.introduce1();		p.makemoney();		System.out.println("本期節(jié)目到這里就結(jié)束了,感謝cctv,我們下期再見");	}}class People{	String name;	int age;	String profession;		public void introduce1()	{			}	public void makemoney()	{			}	}class Doctor1 extends People{	String level;	public Doctor1(String name,int age,String profession,String level){		this.name=name;		this.age=age;		this.profession=profession;		this.level=level;	}	public void introduce1()	{		System.out.println("我是" name ",今年" age "歲," "我的職業(yè)是" profession ",我的級別是" level);	}	public void makemoney()	{		System.out.println("我是通過做手術(shù)賺錢的");	}}class Teacher1 extends People{	String school;	public Teacher1(String name,int age,String profession,String school)	{		this.name=name;		this.age=age;		this.profession=profession;		this.school=school;	}		@Override	public void introduce1()	{		System.out.println("我是" name ",今年" age "歲," "我的職業(yè)是" profession ",我所在的學(xué)校是" school);	}	@Override	public void makemoney()	{		System.out.println("我是通過教學(xué)生知識賺錢的");	}}

  

八.作業(yè)

做一個學(xué)員管理系統(tǒng)
功能:1.添加學(xué)員
2.查看學(xué)員信息
3.刪除學(xué)員
4.修改學(xué)員

思路:創(chuàng)建學(xué)員對象
創(chuàng)建學(xué)員對象數(shù)組
每個功能對應(yīng)一個方法,可以反復(fù)使用


提示:

---------------------------------
歡迎使用學(xué)員管理
---------------------------------
功能選擇:
1.添加學(xué)員
2.查看學(xué)員信息
3.刪除學(xué)員
4.修改學(xué)員
請選擇:1
添加學(xué)員:
姓名:杜典
年齡:16
性別:女
電話:15232654565
籍貫:長沙
添加成功!
是否繼續(xù)?y/n:y

功能選擇:
1.添加學(xué)員
2.查看學(xué)員信息
3.刪除學(xué)員
4.修改學(xué)員
請選擇:2
姓名 年齡 性別 電話 籍貫
杜典 16 女 152656545 長沙
李祥 18 男 154854623 岳陽
是否繼續(xù)?y/n:y

功能選擇:
1.添加學(xué)員
2.查看學(xué)員信息
3.刪除學(xué)員
4.修改學(xué)員
請選擇:3
請輸入要刪除的學(xué)員姓名:李祥
刪除成功!
是否繼續(xù)?y/n:y

功能選擇:
1.添加學(xué)員
2.查看學(xué)員信息
3.刪除學(xué)員
4.修改學(xué)員
請選擇:4
請輸入要修改的學(xué)員姓名:杜典
姓名:哈哈
年齡:88
性別:女
電話:15232654565
籍貫:常德
修改成功!
是否繼續(xù)?y/n:y

功能選擇:
1.添加學(xué)員
2.查看學(xué)員信息
3.刪除學(xué)員
4.修改學(xué)員
請選擇:2
姓名 年齡 性別 電話 籍貫
哈哈 88 女 152656545 長沙
李祥 18 男 152454544 常德

package com.class1104;import java.util.Scanner;public class Test1 {	public static void main(String[] args) {		// TODO Auto-generated method stub		//菜單各種詢問,各種調(diào)用		Start st=new Start();		int s1;		String s2;		StuManager sm=new StuManager();		do{			st.select();			Scanner sc=new Scanner(System.in);					System.out.print("請選擇:");			s1=sc.nextInt();				switch(s1)			{			case 1:				System.out.println("添加學(xué)員:");				sm.addStu();				System.out.println("添加成功!");				break;			case 2:				sm.queryStu();				break;			case 3:				sm.deleteStu();				break;			case 4:				sm.updateStu();				break;			default:				System.out.println("輸入錯誤");				break;			}			System.out.print("是否繼續(xù)?y/n:");			s2=sc.next();			System.out.println();		}while(s2.equals("y"));									}}class Start{	public Start()	{		for(int i=0;i<25;i  )		{			System.out.print("-");		}		System.out.println();		System.out.println("               歡迎使用學(xué)員管理");		for(int i=0;i<25;i  )		{			System.out.print("-");		}		System.out.println();		}	public void select()	{		System.out.println("功能選擇:");		System.out.println("    1.添加學(xué)員");		System.out.println("    2.查看學(xué)員信息");		System.out.println("    3.刪除學(xué)員");		System.out.println("    4.修改學(xué)員");	}}class Student{	// 各種屬性。要求封裝	private String name;	private int age;	private String sex;	private String phone;	private String place;		public void setName(String name)	{		this.name=name;	}	public String getName()	{		return name;	}	public void setAge(int age)	{		this.age=age;	}	public int getAge()	{		return age;	}	public void setSex(String sex)	{		this.sex=sex;	}	public String getSex()	{		return sex;	}	public void setPhone(String phone)	{		this.phone=phone;	}	public String getPhone()	{		return phone;	}	public void setPlace(String place)	{		this.place=place;	}	public String getPlace()	{		return place;	}}// 學(xué)員管理類class StuManager{	Student stu[]=new Student[50];	Scanner sc1=new Scanner(System.in);	public void addStu()	{		Student stu1=new Student();		for(int i=0;i<stu.length;i  )		{			if(stu[i]==null)			{				stu[i]=stu1;				break;			}					}		System.out.print("姓名:");		stu1.setName(sc1.next());		System.out.print("年齡:");		stu1.setAge(sc1.nextInt());		System.out.print("性別:");		stu1.setSex(sc1.next());		System.out.print("電話:");		stu1.setPhone(sc1.next());		System.out.print("籍貫:");		stu1.setPlace(sc1.next());			}	public void queryStu()	{		System.out.print("姓名" "\t");		System.out.print("年齡" "\t");		System.out.print("性別" "\t");		System.out.print("電話" "\t");		System.out.print("籍貫" "\t");				for(int i=0;i<stu.length;i  )		{			if(stu[i]!=null)			{				System.out.println();				System.out.print(stu[i].getName() "\t");				System.out.print(stu[i].getAge() "\t");				System.out.print(stu[i].getSex() "\t");				System.out.print(stu[i].getPhone() "\t");				System.out.print(stu[i].getPlace() "\t");			}		}	}	public void deleteStu()	{		System.out.print("請輸入要刪除的學(xué)員姓名:");	    String name1=sc1.next();	    boolean b1=false;		for(int i=0;i<stu.length;i  )		{			if(stu[i]!=null)			{				if(stu[i].getName().equals(name1))				{					b1=true;					stu[i]=null;					int j=i;					while(j<stu.length-1)					{						stu[j]=stu[j 1];						j  ;						if((j 1)==stu.length-1)						{							stu[j 1]=null;						}					}					i--;				}			}		}		if(b1)		{			System.out.println("刪除成功!");		}else{			System.out.println("未找到該學(xué)員!");		}	}	public void updateStu()	{		System.out.print("請輸入要修改的學(xué)員姓名:");		String name2=sc1.next();		boolean b2=false;		for(int i=0;i<stu.length;i  )		{			if(stu[i]!=null)			{				if(stu[i].getName().equals(name2))				{					b2=true;					System.out.print("姓名:");					stu[i].setName(sc1.next());					System.out.print("年齡:");					stu[i].setAge(sc1.nextInt());					System.out.print("性別:");					stu[i].setSex(sc1.next());					System.out.print("電話:");					stu[i].setPhone(sc1.next());					System.out.print("籍貫:");					stu[i].setPlace(sc1.next());				}			}		}		if(b2)		{			System.out.println("修改成功!");		}else{			System.out.println("未找到該學(xué)員!");		}	}}

  

?

來源:http://www.icode9.com/content-4-110201.html
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
java入門試題
多態(tài)的概述和前提條件
java---- 封裝,接口,繼承,覆蓋,構(gòu)造過程,多態(tài),static、this、super、final用法
Java筆試題及答案
java編程、java學(xué)習(xí):深刻理解Java編程的7個例子
類的初始化順序
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服