zoukankan      html  css  js  c++  java
  • day8 Java学习(面向对象.多态&接口)

    面向对象

     

     

     多态:

           概述:事物存在的多种形态。

     多态前提:

          *要有继承关系

          *要有方法重写

          *要有父类引用指向子类对象。 

      成员变量访问:

              编译看左边(父类),运行左边(父类)。

      成员方法访问:

             编译看左边(父类),运行右边(子类)。//动态绑定

     

      多态静态方法:

    编译看左边(父类),运行看左边(父类)。  

     

      多态向上转型:父类引用指向子类。

        *必须先有向上转型才有向下转型。

            Father p =new son();  (向上转型)

            son  p1= (son) p;( 向下转型)

     多态的好处:

        *提高了代码的维护性(继承保证)

        *提高了代码的扩展性(由多态保证)

      多态的弊端:

         * 不能使用子类的特有属性和行为。

     

     面向对象(抽象类)

        抽象类的概述:

         *抽象就是看不懂的

         抽象类特点:

            1.抽象类和抽象方法必须要用abstract关键字修饰

                    *abstract class 类名 { };

                    * public abstract void eat();

             2.抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口。

             3.抽象类如何实例化?

                     * 按照多态的方式 ,由具体的子类实例化。其实这也是多态的一种,抽象类多态。

              4.抽象的子类

                     *要么是抽象类

                     *要么重写抽象类中的所有抽象方法。

         抽象类的成员特点:

            1.成员变量:既可以是变量,也可以是常量。 

                 *abstract不能修饰成员变量。

             2. 构造方法:有。

             3.成员方法:既可以是抽象的,也可以是非抽象的。 

             4.抽象类的成员方法特性:

                 *抽象方法 (强制要求子类做的事情)

                 *非抽象方法  (子类继承的事情,提高代码的复用性)。 

       面向对象( 接口)

         接口概述:

                  * 冲狭义的角度讲就是指Java中的interface。

                  * 冲广义的角度讲对外提供规则的都是接口。

          接口特点:

                  * 接口用关键字Interface表示

                         *interface 接口名 { }

                   * 类实现接口用implements表示

                          *class 类名 implements 接口名 { }

                    * 接口不能实例化

                             *那么如何实例? (按照多态的方式来实现)

                      * 接口的子类

                            *可以是抽象类,但是意义不大

                            *可以是具体类。要重写接口中的所有抽象方法(推荐方案)。

     

                       

     

                 

     

          

      

  • 相关阅读:
    【One by one系列】一步步开始使用Redis吧(一)
    Double.valueOf()与Double.parseDouble()两者的区别
    eclipse配置SVN
    java中String.valueOf(obj)、(String)obj与obj.toString()有什么区别
    zookeeper+dubbo【转载】
    jquery中的attr与prop
    window上安装rabbitMQ
    控制 输入框 只能输入数字、小数、负数
    关于JavaScript的事件触发
    JavaScript学习第四天
  • 原文地址:https://www.cnblogs.com/feng0001/p/10884290.html
Copyright © 2011-2022 走看看