中继承父类实现父类方法的快捷键_关于封装、继承
在初期,很多人对于java中一些定义的认识比较模糊,今天我就来详细讲一讲我所认识的封装和继承。
1、封装
1.1)概念:将类的某些信息隐藏在内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
1.2)好处:只能通过规定的方法访问数据;隐藏类的实例细节,方便修改和实现。
1.3)封装的实现步骤
注意:对封装的属性不一定必须通过get/set方法,其他方法也可以对封装的属性进行操作。当然最好使用get/set方法,这样比较标准。
1.4)访问修饰符
访问修饰符可以限制类中成员的被访问范围,可以有效的保护隐私数据。
1.5)java中的内部类
- 内部类(Inner Class)就是定义在另外一个类里面的内。与之对应,包含内部类的类被称为外部类。
- 内部类不常用,但却有其特殊的作用:
- a、内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。
- b、内部类的方法可以直接访问外部类的所有数据,包括私有的数据。
- c、内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便。
- 内部类分为:成员内部类、静态内部类、方法内部类、匿名内部类
2、继承
2.1)概念:继承是类与类的一种关系,是一种“is a”的关系。比如“狗”继承“动物”,这里动物类是狗类的父类或者基类,狗类是动物类的子类或者派生类。如下图所示:
注:java中的集成是单继承,一个类只有一个父亲,但一个父亲可以有多个子类。
2.2)好处:子类拥有父类的所有属性和方法(除了private修饰的属性不行)从而实现了代码的复用。
2.3)语法规则:只要在子类后面加上extends关键字再加上想要继承的父类就可以了
2.4)方法的重写
子类如果对继承的父类中一些方法不满意,可以自己重写编写该方法,这种方式就叫做方法的重写,当调用方法时会优先调用子类的方法。
需要注意:方法名相同、参数列表相同,方法体不同
2.5)继承的初始化顺序
- 初始化父类再初始化子类
- 先执行初始化对象中属性,再执行构造方法中的初始化
- 基于上面两点,我们就知道实例化一个子类,java程序的执行顺序是:
- 父类对象属性初始化---->父类对象构造方法---->子类对象属性初始化--->子类对象构造方法
2.6)final关键字
使用final关键字做标识有“最终”的含义。final修饰类,则该类不能被继承;final修饰方法,则该方法不能被重写;final修饰属性,则该类的该属性不会进行隐式的初始化,所以该final 属性的初始化属性必须有值,或在构造方法中赋值(但只能选其一,且必须选其一,因为没有默认值),且初始化之后就不能改了,只能赋值一次。
2.7)super关键字
在对象的内部使用,可以代表父类对象。
访问父类的属性super.*;访问父类方法super.*()
super的应用:首先我们知道子类的构造的过程当中必须调用父类的构造方法。其实这个过程已经隐式地使用了我们的super关键字。这是因为如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法。那么如果自己用super关键字在子类里调用父类的构造方法,则必须在子类的构造方法中的第一行。要注意的是:如果子类构造方法中既没有显示调用父类的构造方法,而父类没有无参的构造方法,则编译出错。(补充说明,虽然没有显示声明父类的无参的构造方法,系统会自动默认生成一个无参构造方法,但是,如果你声明了一个有参的构造方法,而没有声明无参的构造方法,这时系统不会动默认生成一个无参构造方法,此时称为父类有没有无参的构造方法。)
2.8)Object类
Object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承另一个类,那么这个类默认继承Object类。Object里面主要有两个类:toString()、equals()
中继承父类实现父类方法的快捷键_关于封装、继承相关推荐
- Java继承_Hachi君浅聊Java三大特性之 封装 继承 多态
Hello,大家好~我是你们的Hachi君,一个来自某学院的资深java小白.最近利用暑假的时间,修得满腔java语言学习心得.今天小宇宙终于要爆发了,决定在知乎上来一场根本停不下来的Hachi君个人 ...
- IDEA 中添加 getter、setter 方法的快捷键:Alt+Insert
刚开始接触IDEA,用到传说中强大的快捷键:Alt + insert 但我的笔记本死活无法使用,很无奈. 网上很多方法都局限于下面的(3)(4),但就是不管用,最后终于发现是键盘问题. (1)如果自己 ...
- 进入方法内快捷键_肝货|驱动安装流程驱动amp;快捷键设置(一)
| 这里是博学多识可爱无敌的课代表可可嘚吧嘚 笔记疯狂输出时间 某个灵机一动(摸鱼摸虾)的下午 突然发现(摸鱼有理了~) 写了这么多的教程我竟然遗漏了一个最最最最最······重要的手绘板/屏的驱动安 ...
- 关于“继承, 子类拥有父类非private的属性和方法“
我们以前经常看到这么一句话: "继承, 子类拥有父类非 private 的属性和方法."; 但是我们又会经常看到这样的代码 父类: public class People {pr ...
- 【面向对象编程】(4) 类的继承,重构父类中的方法
各位同学好,今天和大家分享一下面向对象编程中,类的三大特征之继承.主要介绍:子类继承父类的基本方法:重写父类的类方法:重构父类的初始化方法:super() 方法.本节主要是单继承,多继承在下一节中介绍 ...
- 什么是python中子类父类_零基础入门:python中子类继承父类的__init__方法实例
前言: 今天为大家带来的内容是零基础入门:python中子类继承父类的__init__方法实例!具有不错的参考意义,希望在此能够帮助到各位!(喜欢的话记得点赞转发关注不迷路哦) 使用Python写过面 ...
- 子类怎么继承父类方法中的变量_JavaOOP_04 封装 继承
一.封装 概念:隐藏程序内部的具体实现细节,对外提供接口,从而提高程序的安全性. 高内聚,低耦合. 使用封装的步骤: 1.属性私有化,使用private访问修饰符进行修饰 2.对外提供 setter/ ...
- python在多继承中子类调用某个父类的同名方法之 super讲解(mro机制)***
目录 2. 钻石继承遇到的难题 3. 针对钻石问题各语言的解决方法 3.1. C++ 3.2. Java 3.3. Ruby 3.4. Python 4. super的内核:mro 5. ...
- python中的继承的初始化_python中子类继承父类的__init__方法实例
前言 使用Python写过面向对象的代码的同学,可能对__init__方法已经非常熟悉了,__init__方法在类的一个对象被建立时,马上运行.这个方法可以用来对你的对象做一些你希望的 初始化 . 注 ...
最新文章
- Flask之请求钩子
- ai怎么画循环曲线,怎么用 Adobe Illustrator 画出曲率连续的曲线?
- 深度学习网络调试技巧
- Python连接DM8数据库
- mysql实战38 | 都说InnoDB好,那还要不要使用Memory引擎?
- atitit.atiOrmStoreService 框架的原理与设计 part1 概述与新特性
- JavaScript--动态添加元素
- [Informix] unload load
- CentOS 7.x下部署和配置zabbix 3.2.x监控工具
- springboot+自定义注解实现灵活的切面配置
- Linux shell脚本中判断变量文件目录:权限、是否存在、空值、相等
- (day05)剑指 Offer 11. 旋转数组的最小数字-(二分法)
- 面试题:逗号表达式运用
- 指针式仪表自动识别和读数
- GCD中dispatch_apply函数的使用方法
- 用php做滚动,用PHP+java实现自动新闻滚动窗口
- android linux 休眠 深度睡眠 查看 方法 调试【转】
- 网络版AIS接收机R400N
- 使用mobile-detect.js获取手机型号和系统
- linux命令行连接蓝牙音箱,Linux: Ubuntu蓝牙音频设备可以配对但没声音的临时解决方案【转】...
热门文章
- python2.7安装matplotlib_Ubuntu-Python2.7安装 scipy,numpy,matplotlib 和pip
- 王小云:“设谜”与“猜谜”,实现中国“密码梦”
- 77岁“核弹老人”,前后半生都令人动容!
- 不会演讲的你,一开口就输了
- 太阳系其实是被造出来的!来,用视觉聆听宇宙之音!
- html页面返回原理,浏览器输入URL到界面显示(HTML渲染)发生了什么?
- Android无法优化应用,Android应用优化总结
- redis的多路复用是什么鬼
- 【转载】RocketMQ优秀文章
- Quick BI V4.0功能“炸弹”来袭,重磅推出即席分析、模板市场、企业微信免密登录等强势功能