JavaJDK6学习笔记-ppt简体版第08章.ppt
-
资源ID:70795239
资源大小:316.49KB
全文页数:40页
- 资源格式: PPT
下载积分:11.9金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
JavaJDK6学习笔记-ppt简体版第08章.ppt
第8章继承、多型继承、多型继承多型扩充(extends)父类别使用extends作为其扩充父类别的关键词public class Bird private String name;public Bird()public Bird(String name)this.name=name;public void walk()System.out.println(走路);public String getName()return name;public void setName(String name)this.name=name;扩充(extends)父类别public class Chickenextends Bird /扩充Bird类别 private String crest;/新增私有成员,鸡冠描述 public Chicken()super();/定义建构方法 public Chicken(String name,String crest)super(name);this.crest=crest;/新增方法 public void setCrest(String crest)this.crest=crest;public String getCrest()return crest;public void wu()System.out.println(咕咕叫);扩充(extends)父类别 Chicken chicken1=new Chicken(小克,红色小鸡冠);Chicken chicken2=new Chicken();System.out.printf(小雞1-名称%s,鸡冠是%s。n,chicken1.getName(),chicken1.getCrest();chicken1.wu();System.out.printf(小雞2-名称%s,鸡冠是%s。n,chicken2.getName(),chicken2.getCrest();chicken2.wu();被保护的(protected)成员保护意思表示存取该成员是有条件限制的继承的类别就可以直接使用这些成员,但这些成员仍然受到保护不同套件(package)的对象不可直接呼叫使用protected成员被保护的(protected)成员public class Rectangle /受保护的member protected int x;protected int y;protected int width;protected int height;public class CubicextendsRectangle public int getVolumn()/可以直接使用父类别中的可以直接使用父类别中的width、height成员成员 return length*width*height;重新定义(Override)方法如果父类别中的定义并不符合您的需求,可以在扩充类别的同时重新定义可以重新定义方法的实作内容、成员的访问权限,或是成员的返回值型态重新定义(Override)方法public class SimpleArray protected int array;public SimpleArray(int i)array=new inti;public void setElement(int i,int data)arrayi=data;.public class SafeArrayextends SimpleArray /重新定义重新定义setElement()public void setElement(int i,int data)if(i number)showMessage(输入的数字较大输入的数字较大);else if(guess number)showMessage(输入的数字较小输入的数字较小);else showMessage(猜中了猜中了);while(guess!=number);protectedabstractvoid showMessage(String message);protectedabstract int getUserInput();抽象类应用public class TextModeGameextends AbstractGuessGame private Scanner scanner;public TextModeGame()scanner=new Scanner(System.in);protected void showMessage(String message)for(int i=0;i message.length()*2;i+)System.out.print(*);System.out.println(n+message);for(int i=0;i message.length()*2;i+)System.out.print(*);protected int getUserInput()System.out.print(n输入数字:);return scanner.nextInt();抽象类应用藉由在抽象类中先定义好程序的执行流程,并将某些相依方法留待子类别中执行 AbstractGuessGame guessGame=new TextModeGame();guessGame.setNumber(50);guessGame.start();界面(Interface)继承某抽象类的类别必定是该抽象类的一个子类实作某接口的类别并不被归属于哪一类一个对象上可以实作多个接口接口的宣告是使用interface关键词public interface接口名称 权限设定 传回型态 方法(参数列);权限设定 传回型态 方法(参数列);/.界面(Interface)在宣告接口时方法上的权限设定可以省略,如果省略的话,预设是publicpublic interface IRequest public void execute();界面(Interface)public class HelloRequestimplements IRequest private String name;public HelloRequest(String name)this.name=name;public void execute()System.out.printf(哈啰%s!%n,name);public class WelcomeRequestimplements IRequest private String place;public WelcomeRequest(String place)this.place=place;public void execute()System.out.printf(欢迎来到%s!%n,place);界面(Interface)public static void main(String args)for(int i=0;i 10;i+)int n=(int)(Math.random()*10)%2;/随机产生 switch(n)case 0:doRequest(new HelloRequest(良葛格);break;case 1:doRequest(new WelcomeRequest(Wiki网站);public static voiddoRequest(IRequestrequest)request.execute();界面(Interface)在Java中您可以一次实作多个接口必要时必须作接口转换,如此程序才知道如何正确的操作对象public class类别名称implements界面1,界面2,界面3 /界面实作ISomeInterface1 obj1=(ISomeInterface1)someObject;obj1.doSomeMethodOfISomeInterface1();ISomeInterface2 obj2=(ISomeInterface2)someObject;obj2.doSomeMethodOfISomeInterface2();界面(Interface)接口也可以进行继承的动作,同样也是使用“extends”关键词来继承父接口一个接口可以同时继承多个父接口,实作子接口的类别必须将所有在父接口和子接口中定义的方法实作出来public interface名称extends界面1,界面2 /.