黑马程序员--JAVA基础_04(接口、多态、内部类、异常)

                           ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

接口
 

  概述:接口可以认为是一个特殊的抽象类,当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来
                        表式
    接口关健字:interface
    格式特点:1、接口中常定义:常量,抽象方法。
                                      2、接口中的成员都有固定的修饰符。
                                                  常量:public static final
                                                  方法:public abstract
    注意:接口是不可以创建对象的,因为有抽象方法。需要被子类实现,子类对接口中的抽象方法全都覆盖后
                        子类才可以实例化,否则子类是一个抽象类。
多态
    多态:可以理解为事物存在的多种体现形态。
    多态的体现:父类的引用指向了自己的子类对象。父类的引用也可以接收自已的子类对象。
    多态的前提:必须是类与类之间有关系。要么继承,要么实现。通常还有一个前提:存在覆盖。
    多态的好处:多态的出现大大的提高程序的扩展性。
    多态的弊端:提高了扩展性,但是只能使用父类的引用访问父类中的成员。
    在多态中成员函数的特点
                    在编译时期:参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过。如果没有,编译失败。
                    在运行时期:参阅对象所属的类中是否有调用的方法。
                    简单总结就是:成员函数在多态调用时,编译看左边,运行看右边
      在多态中,成员变量的特点:无论编译和运行,都参考左边(引用型 变量所属的类)
      在多态中,静态成员函数的特点:无论编译和运行,都参考左边
内部类
        内部类的访问原则:
                  1、内部类可以直接访问外部类中的成员,包括私有。之所以可以直接访问外部类中的成员,是因为内
                              部类串持有一个外部类的引用。格式      外部类名.this
                  2、外部类要访问内部类,必须建立内部类对象。
          访问格式:
                  1,当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中。可以直接建立内部类
                              对象。
                            格式:外部类名.内部类名      变量名      =      外部类对象.内部类对象
                    2、当内部类在成员位置上,就可以被成员修饰符所修饰。当内部类中定义了静态成员,该内部类必须
                              是static的。当外部类中的静态方法访问内部类时,内部类也必须是static的。
匿名内部类
          特点:1、匿名内部类其实就是内部类的简写格式。
                              2、定义匿名内部类的前提:内部类必须是继承一个类或者实现接口。
                              3、匿名内部类的格式 :new      父类或者接口(){ 定义子类的内容}
                              4、其实匿名内部类就是一个匿名子类对象。而且这个对象有点胖。可以理解为带内容的对象。
                              5、匿名内部类中定义的方法最好不要超过3个。
异常
    异常处理原则:功能抛出几个异常,功能调用如果进行try处理,需要与之对应的catch处理代码块,这
                                                    处理有针对性,抛几个就处理几个。
    特殊情况:try对应多个catch时,如果有父类的catch语句块,一定要放在下面。
    throw和throw关键字的区别:
                  throw:用于抛出异常对象,后面跟的是异常对象;throw用在函数内。
                  throws:用于抛出异常类,后面跟的异常类名,可以跟多个,用逗号隔开。throws用在函数上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值