面向对象入门2--继承
1:代码块是什么?代码块的分类和各自特点?
java中,用{}括起来的代码,就是代码块!
局部代码块:用来限定变量的生命周期,出现在main方法中
构造代码块:类中的成员位置,{代码块}用来给对象的数据进行初始化,每次执行构造方法之前,要执行构造代码块
静态代码块:类中的成员位置,也是用{代码块},在代码的前面,用static代码
作用:静态是和类有关系的,随着类的加载而加载,给类进行初始化
在类中:只加载一次!
2:静态代码块,构造代码块,构造方法的执行流程?
静态代码块---->构造代码块----->构造方法
构造代码块:每次在执行构造方法之前,要先走构造代码块
静态代码:在内存中只加载一次!
3:继承概述
将多个类的共性内容,抽取到一个独立的类中,独立的类和着多个类就产生一种关系:extends:表示继承
格式:
class Zi extends Fu{
}
4:继承的好处
继承的好处:
A:提高代码复用性
B:提高代码维护性
C:让类与类产生了一种关系,它是多态的前提!
让类与类产生的这种关系,也是一种弊端!
耦合性
java中开发原则:低耦合,高内聚
耦合性:指的是多个类产生的这种关系
内聚:指的是自己完成某件事情能力
5:Java中继承的特点
A: 在java中,只支持单继承,不支持多继承,
别的语言,可以支持多继承的:class Zi extends Father,Monther{..}
B:虽然java中不支持多继承,但是可以支持多层继承
6:Java中继承的注意事项?以及我们什么时候使用继承?
注意事项:父类所有非私有的成员(成员方法和成员变量)
其实这也体现了继承的另一个弊端:打破了封装性
子类不能继承父类的构造方法,但是可以通过super(后面讲)关键字去访问父类构造方法。
不要为了部分功能而去继承
什么时候使用:中类之间体现的是:”is a”的关系。
7:继承中的成员访问特点
A:成员变量
在子类方法中访问一个变量
B:成员方法
在测试类中通过子类对象去访问一个方法
8:继承中构造方法的执行流程?假如父类没有无参构造方法,子类应该怎么办?
若父类没有无参构造方法,则:
子类通过super去显示调用父类其他的带参的构造方法
子类通过this去调用本类的其他构造方法
本类其他构造也必须首先访问了父类构造
一定要注意:
super(…)或者this(….)必须出现在第一条语句山
否则,就会有父类数据的多次初始化
转载于:https://blog.51cto.com/12983104/1946161
面向对象入门2--继承相关推荐
- Python基础day09【面向对象(封装、继承、多态)、重写、私有权限】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day09[面向对象(封装.继承.多态).重写.私有权限] Python基础day ...
- java面向对象怎么学_Java面向对象入门
Java面向对象入门 一.Java面向对象的基本组成 Java类及类的成员:属性.方法.构造器:代码块.内部类 面向对象三大特征:封装.继承.多态(抽象) 关键字:this.super.static. ...
- TypeScript基础入门 - 接口 - 继承接口
转载地址 TypeScript基础入门 - 接口 - 继承接口 项目实践仓库 https://github.com/durban89/typescript_demo.git tag: 1.0.13 为 ...
- 面向对象-封装、继承、多态
面向对象-封装.继承.多态 面向对象-封装 一.封装: private 数据类型 _名字; --成员变量 public 默认一致 名字 属性 { get{ return _名字; } set{ ...
- JavaScript面向对象——理解构造函数继承(类继承)
JavaScript面向对象--理解构造函数继承(类继承) 构造函数式继承(类继承) function SuperClass(id) {// 引用类型公有属性this.books = ['JavaSc ...
- JavaScript中OOP——面向对象中的继承/闭包
前 言 OOP JavaScript中OOP-->>>面向对象中的继承/闭包 1.1面向对象的概念 使用一个子类继承另一个父类,子类可以自动拥有父类的属性和方法. ...
- java面向对象的教程_java面向对象入门教程
java面向对象入门教程 Java 编程语言的风格十分接近C.C++语言.Java是一个纯的面向对象的程序设计语言,以下是小编为大家搜索整理的java面向对象入门教程,希望能给大家带来帮助!更多精彩内 ...
- javascript 中面向对象实现 如何继承
上一篇博客已经说了关于javascript中的封装, 其中也说了javascript中本来是没有类的,我们上一篇的封装也是用javascript中的函数去模拟一个类,最后我们还模拟了一个构造函数.那 ...
- python面向对象思路_Python面向对象三要素-继承(Inheritance)
Python面向对象三要素-继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承概述 1>.基本概念 前面我们学习了Python的面向对象三 ...
- Java基础之面向对象的概念 继承---组合----枚举类
Java基础之面向对象的概念 继承---组合----枚举类 本章作为面向对象概念的最后一篇,但是作为一名java程序员在面向对象的这条路上还很长. 一.继承与组合简介 继承是实现类重用的重要手段,但是 ...
最新文章
- 白话Elasticsearch35-深入聚合数据分析之案例实战更多metrics用法:统计每种颜色电视最大最小价格
- 查看linux是几位的操作系统
- html js 浏览器语言,js 判断浏览器语言的方法
- 把mysql某一列求和_Laravel 对某一列进行筛选然后求和sum()的例子
- 本地网页服务器 跨域,nodejs搭建本地服务器轻松解决跨域问题
- android资源管理方式,Android资源管理利器Resources和AssetManager
- seminar by Moshe Vardi from Rice University
- 使用Upida/Jeneva.Net验证传入的JSON
- pap认证过程_PPP协议当中LCP协商过程详解和PAP认证原理介绍
- java Date 转mysql timestamp 秒数不一致
- C Runtime Library来历, API, MFC, ATL关系
- mysql utf-8转utf8mb4_MySQL UTF8 转为 utf8mb4
- 结合个人规划对物联网(IOT)的一点思考
- 想变好却不能坚持,我告诉你怎么办
- idea中各种颜色的含义
- java实现将PDF文件拆分成图片
- ROS2探索(一)Publisher-Subscriber的内部过程
- excel更改页眉页脚_如何在Excel的页眉和页脚中键入“&”号
- 第7.2节 关于面向对象设计的一些思考
- git init 命令详解
热门文章
- step by step YAML 复用
- 八年级计算机网络公开课,计算机网络公开课教案.doc
- python 实用程序代码_【转】python常用工具代码
- python无限循环条件循环_Python - 条件控制、循环语句 - 第十二天
- python自带图形模块_检查单击是否在图形对象内[Python图形模块]
- php 单一入口 seo,网站结构分类(单一入口还是多入口)
- java vuser脚本_loadrunner12中JavaVuser脚本的编写
- python空值填充_pandas | DataFrame基础运算以及空值填充
- 【jquery】$.each的使用方法
- 数据结构之【队列】的基本操作C语言实现