资讯专栏INFORMATION COLUMN

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

pkwenda / 2782人阅读

摘要:父类中的访问权限一定要小于或者等于子类访问权限的个关键字访问权限大小,其中为默认值,不用写。下面是一个典型的代码父类代码子类代码测试类代码输出结果在子类那里已经表明。

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

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

5> 父类的方法返回类型一定要大于等于子类:就拿我们常见的Object和String类来说,总所周知,Object是所有类的祖宗类,所以我们这样写没有问题:
父类中的方法:

子类中的方法:

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

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

子类代码:

测试类代码:

输出

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/74514.html

相关文章

  • 超级白中白的学习进程(4):继承练习

    摘要:继承练习今天因为上班太忙,没有时间看视频,只看到了练习,所以今天就只做了这一道练习。题目要求要求编写一个类似微信放红包的程序。 继承练习 今天因为上班太忙,没有时间看视频,只看到了练习,所以今天就只做了这一道练习。题目要求:要求编写一个类似微信放红包的程序。分析: 群主和成员都是具有相同的名字变量和余额变量,根据继承的共性提取我们得知群主和成员都是继承某一个类,这个类我们姑且称为Us...

    沈建明 评论0 收藏0
  • 超级白中白的学习进程(3):抽象类(abstract)

    摘要:抽象类概念抽象类,关键字。抽象类中不一定有抽象方法,但是抽象方法一定在抽象类里面使用方式抽象类不能直接创建对象。子类继承抽象类父类,必须重写父类中所有的抽象方法。 抽象类(abstract) 1、概念 抽象类,关键字abstract。我的理解就是泛指的意思,就好比说你建立一个类,叫Animal类,里面有一个eat()方法,但是这个动物类指的是什么动物呢?这个可以是小猫,也可以是小狗,还...

    luckyyulin 评论0 收藏0
  • 超级白中白的学习进程(1)

    摘要:类工具类工具类前言各位大牛人物,本人是一个零基础学起来的小白,大学之前对于没有任何的接触,如今决定认真学习,目的是要把自己的头发掉光位置今天写这个的原因就是想把自己的学习过程记录下来,算是巩固练习。 String类、Arrays工具类、Math工具类 前言各位大牛人物,本人是一个零基础学起来的小白,大学之前对于Java没有任何的接触,如今决定认真学习Java,目的是要把自己的头发掉...

    FrozenMap 评论0 收藏0
  • Java多线程学习(一)Java多线程入门

    摘要:最近听很多面试的小伙伴说,网上往往是一篇一篇的多线程的文章,除了书籍没有什么学习多线程的一系列文章。将此线程标记为线程或用户线程。 最近听很多面试的小伙伴说,网上往往是一篇一篇的Java多线程的文章,除了书籍没有什么学习多线程的一系列文章。但是仅仅凭借一两篇文章很难对多线程有系统的学习,而且面试的时候多线程这方面的知识往往也是考察的重点,所以考虑之下决定写一系列关于Java多线程的文章...

    Donne 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<