超级白中白的学习进程(2):继承(Extends)

继承(Extends)
一、前言
仍是先说一下博主本人的一些基本状况吧。本人去年刚刚毕业,专业是电气工程及其自动化,就是在大学期间彻底没有接触过JAVA,也就稍稍了解了一下C语言。后来找了如今的工做也是和编程没有任何关系,是的,本人如今就是全职工做,天天的学习时间只有6点下班后,还有锻炼一个小时身体,一天也没有几个小时学习,全都是看视频自学的。不过如今就是打算辞职出去培训班专门学习JAVA,如今发文的根据也是培训机构发过来的视频学习的,等6月份的时候会从新开始,到时候会才最基础的设置环境开始发文。特别强调,本文是我本身对于学习的理解,可能理解不到,甚至是理解错误,因此仅仅做为参考,不做为任何指导,也但愿各位看到个人错误可以指出来,谢谢!
二、概念
继承,根据字面意思很容易理解就是父辈把他的东西给子辈,不论父辈有什么,子辈就必定会有什么,不论子辈有多少个,他们获得的都是同样相等的。继承主要解决的问题就是共性抽取。格式以下:
public class 子类名 extends 父类名 {}编程

clipboard.png

三、特色
1> JAVA里面的继承是单继承的:一个类只能拥有一个父类;
2> JAVA能够多级继承:假设类C的父类是类B,类B的父类是类A,那么咱们也称A为C的父类;
3> JAVA里面一个父类能够同时拥有多个子类;
4> 子类能够直接调用父类成员变量和方法:父类建立一个int变量int faNum = 10,成员方法method(),里面就输出一句话“父类中的方法”,在测试程序中能够直接这样写:
clipboard.png学习

5> 父类的方法返回类型必定要大于等于子类:就拿咱们常见的Object和String类来讲,总所周知,Object是全部类的祖宗类,因此咱们这样写没有问题:
父类中的方法:测试

clipboard.png

子类中的方法:this

clipboard.png

可是二者的返回值反过来就会编译报错。
6> 父类中的访问权限必定要小于或者等于子类:
访问权限的4个关键字访问权限大小:public>protected>(default)>private,其中default为默认值,不用写。
四、super和this关键字
刚刚演示了子类能够直接调用父类的成员变量和方法,那么若是父子两个类定义的成员变量的名字和成员方法名字同样,在测试程序里面写子类名.变量名,会输出哪一个呢?好比:在父类中定义一个int 值,int num = 10;子类中也定义一个int值,int num = 20;在测试程序里面建立子类的对象,对象名为:son。那么,System.out.println(son.num);会输出什么呢?答案是:20。这个过程能够简单的理解为程序会调用里它最近的那个参数。spa

上面的例子输出语句也能够这样写:System.out.println(this.num);this关键字能够简单的理解成代替原本的名字。可是上面的例子要输出10的话就须要关键字:super了。输出语句改成:System.out.println(super.num);此时的输出结果就是10。 下面是一个典型的代码:
父类代码:.net

clipboard.png

子类代码:视频

clipboard.png

测试类代码:对象

输出
clipboard.pngblog

结果在子类那里已经代表。这几行代码代表了this和super的用法。

做者:ZHC_YTYQ
来源:CSDN
原文:https://blog.csdn.net/ZHC_YTY...
版权声明:本文为博主原创文章,转载请附上博文连接!继承

相关文章
相关标签/搜索