zoukankan      html  css  js  c++  java
  • JAVA 面向对象 三大特征:继承

    什么是继承 

        多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。

        多个类可以称为子类,单独这个类称为父类、超类或者基类。

        子类可以直接访问父类中的非私有的属性和行为。

        通过 extends 关键字让类与类之间产生继承关系。


    继承的优点

        提高了代码的复用性

        提高了代码的维护性

        让类与类之间产生了关系,是多态的前提


    继承的缺点

        增强了类之间的耦合。

        软件开发的一个原则是高内聚,低耦合。

        内聚是一个模块内各个元素彼此结合的紧密程度

        耦合是一个软件里面不同的模板之间相互连接的数量

        破坏了类的封装性,其实继承一般多用于抽象方法的继承和接口的实现


    如何使用extends来实现继承的关系

    语法

       [修饰符列表] class 子类名 extends 父类名{

        类体;

    }


    首先 我们自己来第一 一个父类Demo

      public class Demo{

      public void d1{

      System.out.println("Demo里面的d1方法");

    }

      private void d2{

      System.out.println("Demo里面的d2方法");

    }

    }


    定义一个子类Demo1来Demo

    public class Demo1 extends Demo{

      public void d3(){

      System.out.println("Demo1里面的d3方法");

    }

    }


    写一个测试类来测试一下

     public class Test01{

      public static void main(String[] args){

      Demo1 f = new Demo1();

      //因为Demo1继承了Demo,所以可以在子类里面调用父类的方法

       f.d1();

       //f.d2();//子类不能访问父类中private修饰的方法

       //Demo1中自己的方法

       f.d3();

    }

    }


    将上面的代码修改一下,创建一个Demo的父类Demo2

    public class Demo2{

      public void d4(){

      System.out.println("Demo2里面的d4方法");

    }

    }


    让Demo继承Demo2

    public class Demo extends Demo2{

      public void d1(){

      System.out.println("Demo里面的d1方法");

    }

      public void d2(){

      System.out.println("Demo里面的d2方法");

    }

    }


    写一个测试类来测试一下

    public class Test02{

     public static void main(String[] args){

      Demo1 D = new Demo1();

      D.m0();//可以调用

    }

    }


    Java不支持多继承,但是支持多层继承,即子类—>父类—>爷爷类….—>祖先类—>Object类,子类可以访问其先辈类里面的非private修饰的成员方法和成员变量。

  • 相关阅读:
    一种循环方式
    SqlServer循环读取配置
    app抓包
    c# 前端写代码的情况
    第36月第27日 codesign重签名
    第36月第26天 吴恩达 目标检测
    第36月第25天 TensorFlow Object_detection
    第36月第19天 多个tomcat查端口
    第36月第8天 flask_bootstrap
    第36月第5天 升级到 XCode10.3 项目中的xib报错
  • 原文地址:https://www.cnblogs.com/DongXianSen/p/13099842.html
Copyright © 2011-2022 走看看