当前位置: 首页>编程语言>正文

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

一.多态 

    前提:

           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.接口只能继承接口不能实现接口 并可以多继承


https://www.xamrdz.com/lan/5uu2016559.html

相关文章: