关于软件构造3.4节的学习总结
Posted benecho
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于软件构造3.4节的学习总结相关的知识,希望对你有一定的参考价值。
类成员变量和类方法:出现在类中,但不与实例挂钩。
实例成员变量:不是类成员变量
实例方法:不是类方法
静态方法和静态变量是在初始化的时候就已经生成了,不需要再进行new就可以访问调用,但是静态方法没办法调用非静态成员
接口是没有构造函数的,new时需要知道这个接口的某个具体实现类的名字。
private,default,protected,public分别为在当前类可访问调用,在同一个包里,在它的子孙类(不同包),其他包。
父类中的方法可以被子类继承。
严格继承:用了final修饰则子类只能添加新方法而无法重写超类中的方法,。
重写的函数(Override)具有完全相同的signature,实际执行时调用哪个方法是运行时动态决定的
如果想在不修改父类某方法的基础上增加该方法的功能,可以使用super
构造函数也可以super,但是要求必须放在子类构造函数的第一行
重写的时候要用@Override进行修饰,这样编译器会检查覆盖方法和被覆盖的方法签名是否完全一致
重写的方法可见性只能保持相同或者扩大而不能缩小
抽象方法只有定义没有实现,且要用abstract进行修饰。
抽象类不能实例化,且必须包含至少一个抽象方法,如果所有都是抽象方法那就是接口。继承某个抽象类的子类在实例化时,所有父类中的抽象方法必须已经实现
特殊多态:一个方法可以有多个同名的实现(方法重载)
参数化多态:一个类型名字可以代表多个类型(泛型编程)
子类型多态、包含多态:一个变量名字可以代表多个类的实例(子类型)
重载是根绝参数列表进行最佳匹配的,重载的多个版本之间必须有不同的参数列表,进行静态类型检查,在编译阶段时决定要具体执行哪个方法。
重载也可以发生在父类和子类之间。
以上是关于关于软件构造3.4节的学习总结的主要内容,如果未能解决你的问题,请参考以下文章