Java基础知识总结-----继承与多态

2019-06-23  本文已影响0人  pppppkun

根据笔者的观察,现在大部分计算机or软件学院or信息工程大类or其他理工科专业的学生入门用的都是C艹这样的语言,而一些偏文的专业则是用的python,python作为一门轻量级的语言确实比C要更加的友善。但是学了C语言之后再看python会觉得这一门语言非常的不严谨,变量随便用,单双引号也很随意,不过这不影响python再某些方面(Data Analysis)能够发挥其巨大的作用。
不知不觉偏题了
C语言是面向过程的语言,C艹,Java和python都是面向对象的语言,说到Java里的面向对象,其中比较基础也比较关键的就是继承和多态了。
写于19年三月份,没想到在考试前一天才发布


继承

在对象的继承之中,子类可以获得父类所有的实例变量和方法,另一方面,子类还可以自己给自己添加新的方法或者实例变量,也可以覆盖出现在父类之中的方法。
继承有许多的好处,比如说它可以避免程序中出现重复的代码,如果许多子类都要调用相同的方法做同样的事情,那么可以在父类中就实现这个方法,子类直接调用就行了。
同样的,有的子类具有特殊的行为,所以应该拥有特殊的方法,这时候就需要新写一个方法去覆盖父类的方法了。
在面向对象编程的过程中,寻找共同的行为并抽象出来变成共同的方法是十分重要的。
对于一个新创建的对象,它会调用层次树上比它高阶的类中与它最近的那个类的方法(如果自己没有覆盖的话)。
判断两个类之间的继承关系是十分简单的,我们注意到子类可以自己写出父类没有的方法,所以我们知道子类可以做出任何父类能做的事,并且能做的更多。如果你想要在调用父类方法的同时在加上自己新写进去的方法,可以使用super.method

public void method(){
    super.method();//调用父类的super
    ......//自己新添加的内容
 }

父与子的关系也体现在父类可以决定哪些能被子类继承,哪些不可以,这就要讨论存取权限了。在Java中有以下几种存取权限

修饰符 同一个类 同一个包 不同包的子类 不同包的非子类
private
default
protected
public
上一篇 下一篇

猜你喜欢

热点阅读