java第五周学习总结

 

第五章

1.继承:先定义一个共有属性的一般类(父类、超类),再以此来定义具有特殊属性的子类。(java不支持多重继承)

2.定义子类:

class 子类名 extends 父类名{

。。。

}

3.继承关系形成树形结构,根结点Object类是所以类的祖先类。

4.类的重要成员:a.成员变量 b.方法

5.子类父类同包,继承非private的成员变量作为自己的成员变量,方法同理。

   子类父类异包,只继承protected和public。

   继承时访问权限保持不变。

6.继承关系的UMl图

 

7.instanceof运算符(双目):左对象,右是类,当对象是类或其子类所创建时(有一腿)为true。

8.成员变量的隐藏:所声明的成员变量的名字和从父类继承来的成员变量的名字相同时,子类会隐藏所继承的成员变量。

9.方法重写:a.子类有权利重写从父类继承的方法。

                     b.语法规则:方法的类型一致(也可以是父类方法类型的子类型),且名字、参数个数、参数的类型完全相同。

                     c.目的:i.隐藏继承的方法 ii.可以把父类的状态和行为改变为自身的状态和行为。

10.调用被隐藏的方法或成员变量要使用关键字super。(前缀super.)

     也可使用super调用父类的构造方法(放子类构造方法的首句),子类不继承父类的构造方法。

     若没有写出super来调用,则默认有:

      super();

  (子类的构造方法总是先调用父类的构造方法,若无指明则调用父类的不带参数的构造方法)

11.final类不能被继承,final方法不允许子类重写,成员变量或局部变量被修饰为final时为常量。

12.对象的上转型对象:

                                    A父类       B子类

                                     a   《==   创建b

                                      |

                                    成为b对象的上转型对象

其特点:i.不能操作子类新增的成员变量与方法

              ii.可以访问子类继承或隐藏的成员变量,也可以调用子类继承的方法或子类重写的实例方法

              (若重写的方法是静态的,那么子类对象的上转型对象不能调用子类重写的静态方法,只能调用父类的静态方法)

注:可以将对象的上转型对象再强制转换到一个子类对象,这样就又具备了子类的所以属性与功能。

       不可以将父类创建的对象的引用赋值给子类声明的对象(不能说“人是美国人”)

13.继承与多态:通过父-子方法重写,上转型是多态的表现方式。

14.abstract类与abstract方法:

i.abstract方法只允许声明,不允许实现(无方法体)

ii.不允许使用final与abstract同时修饰一个方法或类

iii.不允许使用static修饰abstract方法,即abstract方法必须是实例方法

iv.abstract类与普通类相比:abstract类可以有abstract方法也可以有普通方法

v.abstract类不能用new运算符创建对象,只能产生其子类,由子类创建对象

(如果一个普通类是abstract类的子类,那么它必须重写父类的abstract方法)

vi.abstract类的对象可以做上转型对象

vii.抽象类封装了子类必须要有的行为标准

15.面向抽象编程的目的与核心

目的:应对用户需求的变化,将某个类中经常需要因需求变化而需要改动的代码从该类中分离出去

核心:让类中每种可能的变化对应地交给抽象类的一个子类去负责
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值