码迷,mamicode.com
首页 > 编程语言 > 详细

java09.面向对象.多态、抽象类、接口

时间:2016-08-06 21:42:24      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

多态:事物存在的多中形态

  前提:1、要有继承关系;2、要有方法重写;3、要有父类引用指向子类对象

  Father f = new Son();

  成员变量:编译看左边,运行看左边

  成员方法:编译看左边,运行看右边(父类有就行,如果子类没有,执行父类的)

  静态方法:编译看左边,运行看左边。

  当作参数传递时用多态最好(扩展性强!)

抽象类:被abstract修饰的类(开发中一般都将父类定义为抽象类)
 特点 :A:一个类如果有了抽象方法,那么这个类必须是抽象类(抽象类边可以没有抽象方法)。B:抽象类是不能够被实例化的。不能够创建对象的。(如果类中无抽象方法,定义抽象类的目的就是为了防止其他类建立本类对象)C:如果一个类继承抽象类,那么,它要么重写抽象类中的所有抽象方法,要么本身也是抽象类。
 成员特点:
  成员变量:子类可以直接继承抽象类中的成员变量(抽象类中的成员变量可以和以前是一样的)。
  成员方法:抽象类中分为两种方法,一种是抽象方法,这种方法在子类中必须要被实现(重写)。另一种是普通的方法。可以被子类直接继承使用。
  构造方法:抽象类不能被实例化,但它有构造方法,作用:为了让子类实例化的时候使用。

abstract 不能与那些关键字共存?
 private 私有的,外部直接无法访问。子类也同样无法访问,而abstrac修饰的方法就是为了让子类继承并重写的
 static:被其修饰的方法可以通过类名调用,对于抽象方法来说是没有意义的。
 final:其修饰的方法不能被重写。所以它和abstract冲突。

接口:当一个类中所有的方法都是抽象的时候,没必要定义为抽象类,定义为接口就可以了。
 特点:1、是对外暴露的规则;2、是功能的扩展;3、降低了程序的耦合性。
 成员特点:1、只有成员变量和成员方法;2、成员变量 默认修饰符 public static final(无顺序要求) ;3、成员方法 默认修饰符 public abstract ;

类与类:只能是单继承。 extends
接口与接口:可以是单继承,也可以是多继承。 extends
类与接口:可以是单实现,也可以是多实现。 implements

接口和抽象类的区别: 1、抽象类只能被单继承;接口可以被多实现;2、成员类型不同;3、抽象类中定义的是体系结构中的共性的内容。接口中定义的是对象的扩展功能;4、抽象类被继承表示的是归属的关系。接口被实现表示的是: "like a"的关系。xx像yy中的一种

抽象与接口都是

 

java09.面向对象.多态、抽象类、接口

标签:

原文地址:http://www.cnblogs.com/meng726477179/p/5741738.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!