文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java由浅入深讲解继承下

2024-04-02 19:55

关注

本篇紧接上一篇内容继续,还是从继承里的细节开始

1.代码块初始化

关于代码块的定义和使用因为之前已经进行过介绍,所以这里就不再赘述,我们所关注的点是父类和子类中的代码块在运行时候的先后顺序是怎样的

首先还是在父类以及子类中添加代码块,如下:

//父类
 {
     System.out.println("父类实例代码块");
 }
 static {
     System.out.println("父类静态代码块");
 }
 public Plant() {
     System.out.println("父类构造方法");
 }
//子类
{
     System.out.println("子类实例代码块");
}
static {
     System.out.println("子类静态代码块");
}
public Tree() {
     System.out.println("子类构造方法");
}

我们在main方法中实例化子类对象后来看一下结果:

静态代码块依旧是最先被执行的,然后是父类的实例代码块和构造方法,最后是子类的实例代码块和构造方法

静态代码块由于只执行一次,所以如果再实例化一次子类对象的话父类和子类的静态代码块都不会再执行

2.protected关键字

之前的访问修饰限定符中还遗留了一个protected,这里把这个坑填上,procted在包访问权限的基础上多了一个权限:不同包中的子类可以访问父类的成员

假设Plant和Tree分别在两个包中,那么Plant中protected修饰的成员依旧可以在Tree中使用super来进行访问

需要注意的一点:父类必须是用public修饰,否则访问权限不够,不同包的两个类根本无法构成继承关系

4个访问修饰限定符都讲完了,这里作一个总结:

访问范围privatedefaultprotectedpublic
同一包中的同一类
同一包中的不同类×
不同包中的子类××
不同包中的非子类×××

3.final关键字

final关键字同样是用来修饰类、方法以及变量的,作用如下:

修饰变量:成为常量,无法被修改

修饰方法:不能被重写

修饰类:不能作为父类被其它类继承

4.Java中允许的继承方式

单继承:A继承B

多层继承:A继承B,B继承C、C继承D......

不同类继承同一个父类:A继承B,C也继承B

但是Java中不允许一个类继承多个父类(即C++中的多继承)

Java继承的内容结束,后面就是多态的内容,完

到此这篇关于Java由浅入深讲解继承下的文章就介绍到这了,更多相关Java继承内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯