继承 多态 接口 抽象类 内部类

来源:互联网 发布:淘宝代销不是长久之计 编辑:程序博客网 时间:2024/05/16 18:31

接口和抽象方法的区别

  • 接口方法,访问权限必须是公共的 public,不能有私有的方法或变量
  • 接口内只能有公共方法,必须使用public static final把成员变量修饰为常量
  • 接口内只能含有抽象方法,但是不用abstract关键字。
  • 实现接口的类一定要实现接口里定义的所有方法
  • 可以通过继承多个接口实现多重继承
  • 而抽象类是可以有私有方法或私有变量的
  • 实现抽象类可以有选择地重写需要用到的方法,
  • 一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。

多态

概念:

同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类的引用指向子类的对象。

为什么要用多态呢

原因:

  • 封装可以隐藏实现细节,使得代码模块化;
  • 继承可以扩展已存在的代码模块(类);
  • 它们的目的都是为了——代码重用。
  • 可以解决项目中紧偶合的问题,提高程序的可扩展性.。
  • 耦合度讲的是模块模块之间,代码代码之间的关联度,通过对系统的分析把他分解成一个一个子模块,子模块提供稳定的接口,达到降低系统耦合度的的目的,模块模块之间尽量使用模块接口访问,而不是随意引用其他模块的成员变量。

多态有什么好处

  • 应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。//继承

实现多态的条件

  • 继承的存在,继承是多态的基础,没有继承就没有多态

  • 子类重写父类方法,多态下调用子类重写后的方法;

  • 父类引用变量指向子类对象,不能调用子类对象特有的方法

多态中的方法

  • 通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法

  • 通过父类引用变量无法调用子类特有的方法

内部类

  • 一个类可以定义在另外一个类的内部,定义在类内部的类称之为Inner,其所在的类称之为Outer;
  • Inter定义在Outer的内部,通常只服务于Outer,对外不具备可见性,Inter可以直接调用Outer的成员及方法(包括私有的)。
  • 内部类的主要作用:封装一个类的声明在类的内部,减少类的暴露。
  • 内部类的实例化:实例化时不需要写出对象,非要写的话为:new 外部类名.内部类名();
  • 当内部类在外部类的成员位置上,而且非私有,则在外部其他类中可以直接建立对象
  • 格式:外部类名.内部类名 变量名=外部类对象.内部类对象
  • 例:Outer.Inner in=new Outer().new Inner();
阅读全文
0 0
原创粉丝点击