day12 继承
设计原则:开闭原则:对于拓展open,对于修改close。
类与类的关系:1、is a(继承关系)
2、has a(组合关系)
继承的优点:1、代码的可重用性
2、父类的属性和方法用于子类
3、子类可拓展父类的属性和方法
4、设计应用程序变得更加简单
父类(基类、超类) 子类(派生类) 父类考虑共有,子类考虑特有
java单一继承:保证类结构清晰。
Object类是根类,其中有很多重要的方法需要掌握。
.finalize()方法,用于销毁对象,一般由GC调用。
.toString()方法,返回该对象的字符串描述。当我们打印对象或对对象进行字符串操作时就是在调用toString方法,此方法返回的是:类全名@引用十六进制数。所以用户可以根据需要重写toString方法。
.equals()方法,判断两个引用的内容是否相等,判断两个对象在业务上是否相等,根据业务重写equals方法,重写中要强转object对象。
==判断左右两边的值是否相等,基本数据类型判断值是否相等,引用数据类型判断引用地址是否一样,判断两个引用是否指向同一个对象。
override方法的重写:子类将父类的方法重新实现。
1、方法名必须保存一致。
2、参数列表必须保存一致。
3、返回类型必须一致。
4、访问修饰符必须大于等于父类。
5、不能抛出比父类重写前的方法更多的异常。
构造方法不能被继承,所以构造方法不能重写。
继承实现:内存叠加机制。先调用父类的构造方法,然后在后面叠加子类特有的部分,完成子类的构造,只产生了一个子类对象,并没有产生父类对象。
final关键字:1、修饰变量,表示一个常量。
2、修饰方法,方法不能被重写。
3、修饰类,类不能被继承。
day12 继承的更多相关文章
- python_way day12 sqlalchemy,原生mysql命令
python_way day12 sqlalchemy,mysql原生命令 1.sqlalchemy 2.mysql 原生命令 一,sqlalchemy SQLAlchemy本身无法操作数据库,其必 ...
- 【JAVA零基础入门系列】Day12 Java类的简单应用
俗话说的好,实践出真知,所以除了理论知识掌握扎实以外,更重要的是要多加操练,这样才能掌握核心科技. 今天我们就用刚学会的类来实践一下,目标便是完成上一篇中的剁手任务. 我们的商品类已经准备好了,代码重 ...
- 【JAVA零基础入门系列】Day13 Java类的继承与多态
继承是类的一个很重要的特性,什么?你连继承都不知道?你是想气死爸爸好继承爸爸的遗产吗?(滑稽) 开个玩笑,这里的继承跟我们现实生活的中继承还是有很大区别的,一个类可以继承另一个类,继承的内容包括属性跟 ...
- javaScript的原型继承与多态性
1.prototype 我们可以简单的把prototype看做是一个模版,新创建的自定义对象都是这个模版(prototype)的一个拷贝 (实际上不是拷贝而是链接,只不过这种链接是不可见,给人们的感觉 ...
- JavaScript的继承实现方式
1.使用call或apply方法,将父对象的构造函数绑定在子对象上 function A(){ this.name = 'json'; } function B(){ A.call(this); } ...
- javascript中的继承与深度拷贝
前言 本篇适合前端新人,下面开始...... 对于前端新手来说(比如博主),每当对js的对象做操作时,都是一种痛苦,原因就是在于对象的赋值是引用的传递,并非值的传递,虽然看上去后者赋值给了前者,他们就 ...
- 谈谈一些有趣的CSS题目(四)-- 从倒影说起,谈谈 CSS 继承 inherit
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉 ...
- JS继承类相关试题
题目一: //有关于原型继承的代码如下:function Person(name) { this.name = name;}Person.prototype = { getName : f ...
- JS继承之寄生类继承
原型式继承 其原理就是借助原型,可以基于已有的对象创建新对象.节省了创建自定义类型这一步(虽然觉得这样没什么意义). 模型 function object(o){ function W(){ } W. ...
随机推荐
- 实验三:跟踪分析Linux内核的启动过程
实验三:跟踪分析Linux内核的启动过程 学号:20135114 姓名:王朝宪 注: 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.16 ...
- Task 6.4 冲刺Two之站立会议3
今天我参考各种聊天软件的主界面,仿照他们的形式对其中的界面和功能进行设置.重新完善了一下昨天完成的主要功能结构的框架.将各个功能按钮分别放到相应的位置,使界面看起来更加地合理,易于接受.
- Beat(2/7)
目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(2/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 整理博客 做了点商家数据表格 接下来的计划 做 ...
- 【动态规划】POJ-3616
一.题目 Description Bessie is such a hard-working cow. In fact, she is so focused on maximizing her pro ...
- SQL之联合查询学习笔记
定义: 联合查询可合并多个相似的选择查询的结果集.等同于将一个表追加到另一个表,从而实现将两个表的查询组合到一起,使用谓词为UNION或UNION ALL. 语法格式 UNION 可以将两个或两个以上 ...
- NET Core Mvc发布带视图文件的方法!
添加节点:<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
- Delphi 使用TAdoQuery执行存储过程的样例
procedure TCustomerForm.FindCustomerInfo;var strSql:string;begin // BL_HV_FindCustomerInfo 存储过程的名称 ...
- android自动化之appium的环境搭建
简介appium appium是C/S架构,appium的核心是一个web服务器,它提供了一套REST的接口,他会接收客户端的连接,监听到命令.执行会再将结果通过HTTP响应返还给客户端.ap ...
- python3.6执行AES加密及解密方法
python版本:3.6.2 首先安装pycryptodome cmd执行命令:pip install pycryptodome 特别简单,代码如下: #!/usr/bin/python # -*- ...
- PHP 常用函数总结(三)
7.PHP JSON 格式 json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] ) 返回字符串,包含了 valu ...