多态 Java 2015/9/16
类内部 | 本包 | 子类 | 外部包 | |
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
default | √ | √ | × | × |
private | √ | × | × | × |
- 把对象的全部属性和服务结合在一起,形成不可分割的独立单位;
- 尽可能隐藏内部细节。(数据隐藏、隐藏具体实现的细节)
- 初始化子类必须先初始化父类(虚拟机自动完成)因为子类的构造方法中会调用父类的构造方法
- 单继承性:一个子类只能继承一个父亲
- 关键字super:用来引用自己的父类,比如父类的方法和属性都是可以访问的
2.方法覆盖(也叫方法重写)
- 返回类型、方法名称、参数列表必须与它所覆盖的方法相同
- 访问权限不能缩小
- 不能抛出更多异常
3.方法重载
- 同一个方法(包括父类),方法名相同,参数列表不同,返回类型可相同可不同
4.组合与继承
- 组合是”has-a“的关系。组合指在新类中创建原有类的对象,重复利用已有类的功能。而继承是根据其他类的实现来定义一个类的实现。
- 是面向对象中两种代码复用的方式。
- 能使用组合就尽量不要使用继承。除非是”is-a“的关系否,则不要轻易使用继承。
- 简单说就是子父类(接口或实现类)中的类型转换
- 编译时期:引用变量所属类(父类)中是否有调用方法,如果有编译通过,若没有编译失败。
- 运行时期:如果子类复写了父类方法,运行子类中的方法,若没有运行父类方法
- 和属性一样,static方法不是多态的,无论编译还是运行都参考左边。
- 前面是一个引用类型变量后面是一个类,用于判断前面的对象是否是后面的类的实例,如果是返回true,若不是返回false,避免了ClassCastException。
多态 Java 2015/9/16的更多相关文章
- 【Java】-NO.16.EBook.4.Java.1.001-【疯狂Java讲义第3版 李刚】- UML
1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.001-[疯狂Java讲义第3版 李刚]- Style:EBook Series:Java Since ...
- Java 集合系列 16 HashSet
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- 2018面向对象程序设计(Java)第16周学习指导及要求
2018面向对象程序设计(Java)第16周学习指导及要求(2018.12.13-2018.12.16) 学习目标 (1) 掌握线程概念: (2) 掌握线程创建的两种技术: (3) 理解和掌握线程 ...
- Java字符串转16 进制工具类Hex.java
Java字符串转16 进制工具类Hex.java 学习了:https://blog.csdn.net/jia635/article/details/56678086 package com.strin ...
- 【Java】-NO.16.EBook.4.Java.1.011-【疯狂Java讲义第3版 李刚】- AWT
1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.011-[疯狂Java讲义第3版 李刚]- AWT Style:EBook Series:Java ...
- 【Java】-NO.16.EBook.4.Java.1.012-【疯狂Java讲义第3版 李刚】- Swing
1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.011-[疯狂Java讲义第3版 李刚]- Swing Style:EBook Series:Jav ...
- 【Java】-NO.16.EBook.4.Java.1.012-【疯狂Java讲义第3版 李刚】- JDBC
1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.012-[疯狂Java讲义第3版 李刚]- JDBC Style:EBook Series:Java ...
- 【Java】-NO.16.EBook.4.Java.1.005-【疯狂Java讲义第3版 李刚】- 枚举
1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.005-[疯狂Java讲义第3版 李刚]- 枚举 Style:EBook Series:Java Si ...
- 【Java】-NO.16.EBook.4.Java.1.006-【疯狂Java讲义第3版 李刚】- 垃圾回收
1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.006-[疯狂Java讲义第3版 李刚]- 垃圾回收 Style:EBook Series:Java ...
随机推荐
- 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛-A banana·
2017-09-09 16:41:28 writer:pprp 题意很好理解就不说了,实现比较清晰,选择邻接表来做 但是我用的是链表来实现的,所以导致出现了很多问题,最后卡的最长时间的一个问题是 应该 ...
- 关于MAC升级后,vim更新插件报错
找不到路径: 直接在终端 terminal 输入: xcode-select --install
- 微信公众平台开发(一) 配置接口与验证URL
一.简介 微信公众平台是腾讯公司在微信的基础上新增的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,并实现和特定群体的文字.图片.语音的全方位沟通.互动. 二.通讯机制 三.注册微信平台 ...
- 15个Android通用流行框架大全
1. 缓存 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picass ...
- linux五大搜索命令学习
五大搜索命令学习 分别解释locate,find,which,whereis,grep 五大linux搜索命令 locate 解释:由man手册可以看出,locate查找就是根据文件名进行查找,只是依 ...
- 搞懂分布式技术5:Zookeeper的配置与集群管理实战
搞懂分布式技术5:Zookeeper的配置与集群管理实战 4.1 配置文件 ZooKeeper安装好之后,在安装目录的conf文件夹下可以找到一个名为“zoo_sample.cfg”的文件,是ZooK ...
- linux-Centos7安装php
先安装相关依赖包 yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel gd gd-devel libjpeg libjp ...
- 由浅入深了解EventBus:(五)
事件分发 EventBus3.0的事件的分发时通过EventBus类中的post(粘性事件为postSticky)方法,post与postSticky的唯一区别就是,在postSticky内部首先会向 ...
- 淘宝TDDL配置以及使用
此章节具体介绍一下淘宝TDDL具体配置和使用 1. Spring配置文件配置:================spring-mybatis.xml 中配置============= <bean ...
- Netlink 基础知识
Netlink 基础知识 Netlink 相对于系统调用,ioctl 以及 /proc 文件系统而言具有以下优点: 1. 用户仅需要在 include/linux/netlink.h 中增加一个新类型 ...