A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

多态:
        前提:  有继承(继承普通的类,或者继承抽象类)关系(或者实现的关系)
                有方法的重写
                        我们在使用多态的时候 就是为了使用 让父类的引用来调用子类重写的方法
                        如果没有方法的重写就没有意义了 也就不叫多态了
                有父类的引用指向子类对象

        多态中成员变量的使用:
                编译看左边 运行也看左边
        多态中成员方法的使用:
                编译看左边 运行看右边
        多态中静态成员的使用:
                编译看左边 运行也看左边
                在多态的时候 父类的引用除了子类重写的方法是调用的子类的之外 其他的都是调用的父类的
                        如果父类没有 编译就报错
        多态的利弊
                好处:提高了代码的扩展性和维护性
                        一般把父类的引用当做形式参数来用(开发中都这样用 接收一个任意的子类对象,方法里面调用子类重写的方法)
                坏处:不能使用子类特有的方法和属性
                        如果非要用?
                        向下转型和向上转型
                        如果父类的引用非要用子类特有的东东,把父类的引用强制向下转型为子类
抽象类abstract:
        特点:
                1)抽象类里面可以没有抽象方法,但是有抽象方法的类必须得是抽象类
                2)抽象类不能被实例化
                3)普通子类继承抽象类,必须全部重写抽象类里面的抽象方法,要不子类也是抽象类
        成员特点
                成员变量:抽象类里面可以有变量 也可以有常量, 注意abstract不能修饰变量和常量
                构造方法:有 (是为了给子类创建对象的时候初始化父类用的);
                成员方法:可以有抽象方法 也可以没有

        面试题:
                1)一个类中,没有抽象方法,可不可以定义为抽象类呢?可以! 这样的话 是强制要求外界不能创建这个类的对象
                2)abstract不能和哪些关键字共存
                        private:private是不能被继承的,所以不能被重写,而abstract强制要求子类重写,矛盾
                        final: final表示最终的意思,修饰方法,不能被重写,而abstract强制要求子类重写,矛盾
                        static: static是为了让所有对象共享,为了让类名调用,来执行一些方法里面的内容的,而abstract修饰方法是抽象的没有方法体,矛盾!
接口interface:对外提供一种规范
        1)接口不能是实例化(不能创建接口的对象)
        2)接口中的变量 都是常量  前面都有默认修饰符 public static final 永远建议手动给出
        3)接口中的方法 都是抽象的   前面都有默认修饰符 public abstract 永远建议手动给出
        4)接口中没有构造方法

        类与类:类继承类  只能单继承 不能多继承 可以多层继承
        类与接口: 实现关系 可以多实现
        接口与接口:继承关系 可以多继承 也可以多层继承
                问:java中有多继承吗? 有接口与接口之间可以多继承

        抽象类和接口的区别:
                成员变量:抽象类有变量和常量 而接口只有常量
                构造方法:抽象类有构造方法 而接口没有
                成员方法:抽象类里面可以有非抽象方法 而接口里面只有抽象方法

7 个回复

倒序浏览
整理的很不错,受用啦。
回复 使用道具 举报
总结的那么全面
回复 使用道具 举报
不错,很全面
回复 使用道具 举报
学得不错!
回复 使用道具 举报
笔记??
回复 使用道具 举报
呵呵,不错不错!楼主加油哈!
回复 使用道具 举报
哎呦 ,不错哦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马