黑马程序员java培训就业班笔记day10总结.doc

上传人:枫** 文档编号:544503138 上传时间:2023-01-08 格式:DOC 页数:26 大小:39.50KB
返回 下载 相关 举报
黑马程序员java培训就业班笔记day10总结.doc_第1页
第1页 / 共26页
黑马程序员java培训就业班笔记day10总结.doc_第2页
第2页 / 共26页
黑马程序员java培训就业班笔记day10总结.doc_第3页
第3页 / 共26页
黑马程序员java培训就业班笔记day10总结.doc_第4页
第4页 / 共26页
黑马程序员java培训就业班笔记day10总结.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《黑马程序员java培训就业班笔记day10总结.doc》由会员分享,可在线阅读,更多相关《黑马程序员java培训就业班笔记day10总结.doc(26页珍藏版)》请在金锄头文库上搜索。

1、黑马程序员java培训就业班笔记day10总结资料仅供参考Day10总结:1、 多态的特点:1、 成员变量:当在子父类中出现了相同的非私有成员变量时,在多态调用中的特点:在编译时:参考引用型变量所属类中是否有调用的成员变量,如果有编译经过,如果没有编译失败。在运行时:参考引用型变量所属的类中的成员。简单一句话:对于成员变量无论是编译还是运行都参考引用型变量所属类中的成员变量。也就是说:成员变量看等号左边。2、 成员函数:当子父类中出现一模一样的函数时,在多态调用中的特点:在编译时:参考引用型变量的所属的类中是否有调用的成员函数。在运行时:参考的是对象所属的类中是否有调用的成员函数。原因是:编译

2、时期应该参考父类,运行时期应该参考子类。因为成员函数上有一个特点覆盖。简单一句话:对于成员函数,编译看左边,运行看右边。3、 静态函数:在编译时期:参考引用型变量所属的类中是否调用的静态函数,如果有编译经过,如果没有编译失败。在运行时期:参考的还是引用型变量所属的类中的静态函数。简单一句话:对于静态函数,无论是编译还是运行都看左边总结:对于多态成员而言,无论编译还是运行都看左边,只有成员非静态函数,编译看左边,运行看右边,因为覆盖的特性。2、 多态的应用:代码实现:Object:所有类的父类,该类中的方法所有对象都具备。代码实现:Class Demo extends ObjectPrivate

3、 int num;Demo(int num)This.num=num;一般都会按照对象自身的特点对对象进行比较,比如:现在要比较两个Demo对象中null值是否相同。Public boolean compare(Demo b)Return this.num=d.num;发现Demo继承Oject已经具备了比较对象的方法,因此没有必要再定义新的方法compare了,直接使用equals就能够了,可是Object equals比较的是地址值,不是我们所需的,那就保留的父类的功能声明,建立自身的比较内容,这就是覆盖。Public boolean equals(Object obj)If(!(Obje

4、ct instanceof Deno)Return false;Demo d=(Demo)obj;向下转型。Return this.num=d.num;此处体现了多态的特性。Public String toString()Return demo:+num;Class ObjectDemoPublic static void main(String args)Demo d1=new Demo(4);Demo d2=new Demo(4);Sop(d1.toString();Sop(d1);Sop(c1.getName();Sop(pare(d2);4、 内部类:将一个类定义在另外一个类的里面的类

5、称为内部类当一个类要直接访问另外一个类的成员时,能够将这个类定义到另一个类里面,称为另一个类的内部类。内部类访问的规则:1、 内部类能够直接访问外部类中的成员。2、 外部类需要创立内部类对象才能够访问内部类中的成员。在描述事物时,事物中还有具体的事物时,而且这个内部事物在访问着外部的事物时。这时对这个内部事物的描述,就能够用内部类完成。内部类出于外部类的成员位置上是能够被成员修饰符所修饰的。Public Private:将内部类私有化时,只能对外提供方法,对内部类的控制。Static:当内部类中定义了静态的成员时,该内部类必须静态的,否则编译失败。代码体现:Class OuterStatic

6、int num=4;Static class Inner/内部类,为什么要定义内部类?当一个类要直接访问另一个类中的成员时。能够将这个类定义到另一类里面。Static void show()Sop(show run+num);Public void method()Inner in=new Inner();In.,show();Class InnerClassDemoPublic static void main(String args)/Outer out=new Outer();/out.method();/System.out.println(Hello World!);/当访问一个外部

7、类的内部类时,先由外部类对象再有内部类对象。/Outer.Inner in=new Outer().new Inner();/要指明内部类所处的外部类/in.show();/内部类静态化,要调用的非静态的方法show();/Outer.Inner in=new Outer.Inner();/in.show();/如果show方法也是静态的,要调用静态的方法show();Outer.Inner.show();5、 匿名内部类:没名字的内部类。就是内部类的简化写法。前提:内部类能够继承或者实现一个外部类。代码实现:格式:New 父类名or 接口名()子类的具体内容Abstract class Ab

8、dsDemoAbstract void show1();Abstract void show2();Class OuterInt num=4;New AbsDemo()Void show()/匿名内部类Sop(num=+num);.show();Public void method2()AbsDemo a=new AbsDemo();Public void show1();Public void show2();A. show1();A. show2();/要想调用两个方法,怎么做?起个名称即可当里面有多个方法的时候建议不要写匿名内部类。-interface Intervoid show();

9、class Outer/补足代码。最好用匿名内部类static Inter method()/为什么是Inter类型return new Inter()public void show()System.out.println(show run);class InnerClassTest public static void main(String args) Outer.method().show();/*Outer.method():Outer类中有一个method方法,而且这个方法是静态的。Outer.method().show会返回一个对象,而且这个对象还能够调用show方法说明这个对象

10、肯定是Inter类型。*/-6、 异常:是在运行时期发生的不正常情况Java发现不正常的情况都包含着一些常见信息,并 将这些信息进行了对象的封装。异常这种机制,其实就是java按照面向对象的思想将出现的问题封装成了对象。在进行问题分析时,发现问题有很多种,可是不断向上抽取,最终问题能够归纳为两种,一种是能够针对处理的一种是一般不进行处理的。在java中的体现一个是Exception ,一个是Error,后者一般针对处理。无论是异常还是错误,她们都有名称信息等共性的内容。能够继续抽取形成一个父类:throwable可抛出。Throwable|-Error|-Exception异常和错误都有一个特

11、点:其子类的名称的后缀名都是父类名。该体系具备一个特殊的特性叫做可抛性,该体系中的类能够被关键字throws抛出。该体系中的类产生的对象能够被Throw抛出,简单说该体系能够被Throws 和throw操作。Throw 和throws的区别:Throws:定义在函数上,用于声明函数的可能出现的问题,后面跟异常类,能够跟多个,用逗号隔开、Throw:定义在函数内,用于抛出异常对象因为程序的跳转,后面跟的是异常对象。If判断和异常处理的区别:If判断是将正常代码和异常代码写在一起。阅读性极差,异常处理将问题代码和异常处理代码分离。代码实现:Class Demo功能的定义着在定义工呢过时,发现该功能

12、容易因为未知内容的不确定性的出现的问题。为了让调用者明确,有可能有问题,需要在函数上对问题进行声明。需要一关键字throw异常名。Int div(int a,int b)throws Exception/抛出异常是为声明异常问题,让调用者去处理。If(b=0)Throw new ArithmeticException(除数为零、违反规则); Return a/b;对异常的针对性处理方式:Try需要被检测的代码;Cathch(异常类 变量)异常处理代码Finaly一定会被执行的代码。自定义异常:Java将常见的问题都封装成了对象。对于自定义项目中出现的问题,java并未给出对应的描述,这时我们就

13、需要按照面向对象的思想自己完成对问题的描述和封装。自定义异常:需求:在我的程序中,进行除法运算,除数不能够为负数也不能够为0;对0这种情况,java中有对应的描述,ArithmeticException对于负数,java中没有。只有我们自己定义,定义一个类来对异常进行描述。Class FuShuException extends ExceptionPrivate int num;FuShuException()FuShuException(String message,int num)Super(message);This.,num=num;Public int getNum()Return num;Class DemoInt div(int a,int b)throws FuShuExceptionIf(b0)Throw new FuShuException(除数不能够为负数);函数内抛出异常,函数上一定要标示。函数内抛出是什么?函数上就标示什么?对方抛出什么

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号