码迷,mamicode.com
首页 > 其他好文 > 详细

关于软件构造3.4节的学习总结

时间:2020-04-21 14:48:28      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:rri   需要   ted   override   决定   方法重载   default   软件   实例化   

类成员变量和类方法:出现在类中,但不与实例挂钩。

实例成员变量:不是类成员变量

实例方法:不是类方法

静态方法和静态变量是在初始化的时候就已经生成了,不需要再进行new就可以访问调用,但是静态方法没办法调用非静态成员

 

接口是没有构造函数的,new时需要知道这个接口的某个具体实现类的名字。

private,default,protected,public分别为在当前类可访问调用,在同一个包里,在它的子孙类(不同包),其他包。

父类中的方法可以被子类继承。

严格继承:用了final修饰则子类只能添加新方法而无法重写超类中的方法,。

重写的函数(Override)具有完全相同的signature,实际执行时调用哪个方法是运行时动态决定的

如果想在不修改父类某方法的基础上增加该方法的功能,可以使用super

构造函数也可以super,但是要求必须放在子类构造函数的第一行

重写的时候要用@Override进行修饰,这样编译器会检查覆盖方法和被覆盖的方法签名是否完全一致

重写的方法可见性只能保持相同或者扩大而不能缩小

 

抽象方法只有定义没有实现,且要用abstract进行修饰。

抽象类不能实例化,且必须包含至少一个抽象方法,如果所有都是抽象方法那就是接口。继承某个抽象类的子类在实例化时,所有父类中的抽象方法必须已经实现

 

特殊多态:一个方法可以有多个同名的实现(方法重载)

参数化多态:一个类型名字可以代表多个类型(泛型编程)

子类型多态、包含多态:一个变量名字可以代表多个类的实例(子类型)

 

重载是根绝参数列表进行最佳匹配的,重载的多个版本之间必须有不同的参数列表,进行静态类型检查,在编译阶段时决定要具体执行哪个方法。

重载也可以发生在父类和子类之间。

关于软件构造3.4节的学习总结

标签:rri   需要   ted   override   决定   方法重载   default   软件   实例化   

原文地址:https://www.cnblogs.com/benecho/p/12744416.html

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