zoukankan      html  css  js  c++  java
  • JAVA类,抽象类,枚举,接口,之间的关系

    类结构:

    class Person{//类名(首字母大写)

      string name;//字段;

      void eat(){//普通方法;

      }

      Person(){//构造方法;

      }

    }

      1:一个类中必须有一个构造方法,如果没有显示的写出来那么一定隐式的存在

      2:可以创建对象,可继承

    抽象类:

    abstract class Graph{

      int i = 10;//抽象类中定义字段

      public void add(){//抽象类中定义普通方法

      }

      Graph(){//抽象类中定义构造方法

      }

      abstract eat();//抽象方法

    }

    为什么需要抽象:因为提取的公共的模板方法,根本没必要做任何实现,并且应该提示继承的类必须覆写

      1:抽象方法没有方法体,子类在继承抽象类时必须覆写抽象方法;

      2:抽象类的作用 模板类,基类,根类:主要作为公共的模板,提取公共的属性放到里面,让其他的子类继承

      3:抽象方法必须存于抽象类中[接口也可以],不能够放在普通类中

      4:抽象类的子类

        a) 非抽象类必须覆写父类中的所有的抽象方法,

        b) 抽象类不用覆写父类中的抽象方法

      5:abstract 修饰的类及方法   :  不创建对象 , 能被继承

    枚举:

    enum Sex{

      MAN,WOMAN  //字段 是固定值一个对象就是一个值固定不变   常量=对象

      public void add(){//定义普通方法

      }

      Graph(){//定义构造方法,默认都是private修饰,不能够是public 所以枚举不能创建对象

      }

    }

      1:枚举的出现解决了问题: 很轻松设计一种类型,让它的值只有固定个数,用于像性别这样的数据

      2:每一个自定义的枚举类型都(隐式的)拓展至 Enum 类,因此我们的枚举对象可以调用到Enum中的方法的(看API )

      3:枚举不能被继承;

      4:不能创建对象,不能被继承

    接口:

    interface USB{//接口名

      String name;//默认public static final 修饰的全局常量

      void add();//默认public abstract 修饰

      static eat(){//可以有静态方法

      }

      default run(){//默认方法

      }

    }

      1:一个类其实可以实现多个接口,需要覆写所有接口中的抽象方法

      2:一个类可以在继承一个类的同时实现多个接口,但是继承的代码必须写实现前面

      3:支持多态,不能创建对象,可以被继承

  • 相关阅读:
    boundandbranch method
    图像格式PPM,PGM和PBM
    感兴趣文章
    生成数据库脚本
    安徽太和华药会总结
    正则表达式语法参考
    xml
    对项目开发有很大帮助的jquery网站
    增强 VSS 的文件共享安全性
    支付宝及时到帐接口使用详解
  • 原文地址:https://www.cnblogs.com/logoman/p/11241354.html
Copyright © 2011-2022 走看看