java - day007 - 继承(2), 多态,面向对象,抽象类

继承

新建子类对象是,先新建父类对象,并执行父类的构造方法,

默认执行父类的无参构造放方法

可以 手动调用父类的有参构造 super(参数 )

 

super

super.xxx()

  调用父类成员

  一般重写方法, 调用父类同一个方法代码

super();

  调用父类构造方法

  默认调用父类无参构造super()

  可以手动调用父类有参构造 super(参数)

 

多态

作用: 一致的类型

   所有子类型对象,都可以被当做一致的父类对象来处理

类型转换

   向上转父类, 子类实例转型成父类型,

   只能调用父类通用成员

 

   向下转子类, 已经转为父类型的子类实例,再转回成子类型,

   向下转型必须强转,

   某种类型,要特殊处理,可以转回成子类型处理

   向下转型后,才能调动子类特有的成员 

   

 

instanceof

  运行期的类型识别 

  对真实类型及其父类型判断  都是成立的

   Shape s = new line();

   s instanceof Line 返回 true

   s instanceof Shape 返回 true

 

面向对象: 特性

  封装: 类,对象,引用,构造方法,this,重载

  继承: 作用--代码重用

           单继承,子类对象, 父类构造方法,重写

  多态: 作用--

          向上转型,向下转型

          instanceof 运行期的类型识别

 

 

抽象类 : 为子类提供通用的方法定义

   abstract 关键字

 

  半成品类 ,没有完成的类

  抽象类不能创建实例, 

  包含抽象方法的类, 必须是抽象类

  抽象方法去掉方法大括号,分号结束

  抽象方法必须在具体子类中完后实现

  继承抽象类, 必须完成抽象方法

  

posted @ 2019-04-21 18:33  Dingzhijie  阅读(120)  评论(0编辑  收藏  举报