标签:
多态:事物存在的多中形态
前提: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中的一种
抽象与接口都是
标签:
原文地址:http://www.cnblogs.com/meng726477179/p/5741738.html