新晋Java小白进化史之面向对象2_Object

 一、继承关系中构造方法的特点

  1、在继承关系中,一定是先加载父类对象,然后加载子类对象

  2、在子类构造方法中,第一行会默认隐含一个super();

  3、可以在子类中通过super(参数);来去访问父类的有参构造方法

 二、super关键字

  1、在子类成员方法中,可以通过super调用父类的成员变量

  2、在子类成员方法中,可以通过super调用父类的成员方法

  3、在子类构造方法,可以通过super访问父类的构造方法

三、this关键字

  1、可以区分局部变量和成员变量重名

  2、可以在本类中通过this调用本类其他成员方法

  3、可以在本类中构造方法通过this(参数)调用本来其他构造方法

四、抽象类

  1、格式:public abstract class 类名 {
            public abstract 返回值类型 方法名(参数);
       }

  2、注意事项:

    抽象类不能直接创建对象

    抽象类中不一定有抽象方法。但是有抽象方法的类一定是抽象类

    子类继承抽象类,必须重写所有的抽象方法。或者将子类也定义成抽象类

 五、多态 

   1.什么是多态?
          事物的多种表现形态。例如:张三是一个学生,张三是一个人类。
      2.多态的前提条件?
          A:要有继承关系或实现关系
          B:要有方法的重写
          C:父类引用指向子类对象
      3.多态中的成员访问特点
          成员变量:编译看左边、运行看左边
          成员方法:编译看左边、运行看右边
          静态方法:编译看左边、运行看左边
      4.多态的好处和弊端
          好处:一般将父类型或父接口用于作为方法的参数进行传递。当我们调用该方法时,可以传递任意的子类对象
          弊端:无法访问子类特有的成员
      5.向上转型
          父类引用指向子类对象就是一个向上转型
      6.向下转型
          子类名称 对象名 = (子类名称)父类引用;
      7.instanceof关键字
          判断一个引用是否是指定的对象类型

六、接口

   1.什么是接口?
          接口提供了一套公共的规则!说白了就是一套规范。
      2.如何定义接口?
          public interface 接口名{ }
      3.接口中的成员
          A:成员变量:没有。有的是常量。 public static final 数据类型 常量名 = 数据值;
          B:构造方法:没有。(接口不能创建对象)
          C:成员方法:
              a:JDK7版本及之前:抽象方法
              b:JDK8版本:默认方法、静态方法
              c:JDK9版本:私有方法
      4.类与类、类和接口、接口和接口的关系
          类与类:extends继承关系。只能单继承,不能多继承。但是可以多层继承
          类和接口:implements实现关系。可以单实现,可以多实现。还可以在继承一个类的同时,实现多个接口
          接口和接口:extends继承关系。可以单继承,也可以多继承
      5.抽象类和接口的区别
          关系区别:
              类与类:extends继承关系。只能单继承,不能多继承。但是可以多层继承
              类和接口:implements实现关系。可以单实现,可以多实现。还可以在继承一个类的同时,实现多个接口
             接口和接口:extends继承关系。可以单继承,也可以多继承
        成员区别:
            抽象类:
                  成员变量:可以有变量、也可以有常量
                  构造方法:有
                  成员方法:可以普通方法,也可以有抽象方法
            接口:
                  成员变量:只能有常量
                  构造方法:没有
                成员方法:a:JDK7版本及之前:抽象方法
                            b:JDK8版本:默认方法、静态方法
                            c:JDK9版本:私有方法
        设计理念区别:
              抽象类:完成的是共性功能的抽取
              接口:完成的是特性功能的抽取

 

posted on 2019-03-27 13:15  Object_Q  阅读(86)  评论(0)    收藏  举报

导航