java从零到大牛学习路程

面向对象第三天知识点总结

2018-07-12  本文已影响6人  BSimmons

一.多态 

    前提:

           1.有继承关系

           2.有方法的重写

           3.父类引用指向子类对象

    调用关系:

            当父类的引用指向子类的对象时;

                调用同名的静态变量 -- 父类

                调用同名的静态方法 -- 父类

                调用同名的成员变量 -- 父类

                调用同名的成员方法 -- 子类

                子类独有的变量和方法不能被调用

    二中转型:

        向上转型:

                    Person p = new Teacher();

        向下转型:

                    Teacher t = (Teacher)p;

二.抽象类:

    抽象类的格式:

                 abstract 修饰符 返回值 方法名 (参数列表);

抽象类:用abstract修饰的类叫做抽象类;

                1.抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类;

                2.抽象类不能创建对象,需要使用子类的向上转型

                3.抽象类不能使用final修饰

                4.抽象类中既可以定义常量 也可以定义变量

                5.抽象类的子类要么实现抽象类所有的抽象方法,要么本身就是一个抽象类

                6.抽象类中有构造方法

三.接口:interface

       定义格式:

                    Interface 接口名 {}

        特点:

                1.接口中的所有方法都是抽象方法(JDK1.8以前),默认都有public abstract修饰

                2.接口中只能定义常量 默认有 public static final修饰

                3.接口本身不能创建对象 需要使用子类的向上转型

                        接口的子类:使用implements实现类接口的类

                4.一个类可以实现多个接口

                5.接口的子类要么实现了接口中多有的抽象方法 要么本身是一个抽象类

                6.接口没有构造方法

                7.接口只能继承接口 不能实现接口 接口支持多继承

                8.JDK1.8以后接口中可以定义实现类 但必须要有 static 或者 default修饰

                9.一个类可以同时继承一个类 实现多个接口

四.抽象类和接口的区别

                1.一个类最多只能继承一个抽象类 但可以实现多个接口

                2.抽象类中可以有非抽象方法,接口中都是抽象方法(JDK1.8之前)默认有public abstract修饰

                3.抽象类中既可以定义常量 也可以定义变量 接口中只能定义常量 默认有public static final修饰

                4.接口只能继承接口不能实现接口 并可以多继承

上一篇下一篇

猜你喜欢

热点阅读