JAVA回顾:封装,继承,多态
作者:doudoutj 发布时间:2021-09-26 20:17:59
知识点回顾
封装
封装(有时称为数据隐藏)是与对象有关的一个重要概念。从形式上来看,封装不过是将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式。对象中的数据称为实例域,操作数据的过程称为方法。对于每个特定的类实例(对象)都有一组特定的实例域值。这些值的集合就是这个对象的当前状态。无论何时,只要向对象发送一个消息,它的状态就有可能改变。
实现封装的关键在于绝对不能让类中的方法直接地访问其他类的实例域。程序仅通过对象的方法与对象数据进行交互。封装给了黑盒特征,这是提高重用性和可靠性的关键。这意为着一个类可以全面地改变存储数据的方式,只要依旧使用同样的方法操作数据,其他对象就不会知道或介意所发生的变化。----《Java 核心 卷I》
提高程序的安全性,保护数据
隐藏代码的实现细节
统一接口
系统可维护增加了
继承
子类继承了父类,就会拥有父类的全部方法
私有的东西无法被继承
调用父类的构造器,必须要在子类构造器的第一行
super注意点:
super调用父类的构造方法,必须在构造方法的第一个
super必须只能出现在子类的方法或者构造方法中!
super和this不能同时调用构造方法
Vs this:
代表的对象不同:
this:调用本身这个对象
super:代表父类对象的引用
前提:
this: 没有继承也可以使用
super: 只能在继承条件才可以使用
构造方法
this(): 本类的构造方法
super():父类的构造
重写都是方法的重写,和属性无关
方法的调用只和左边,和定义的数据类型有关
重写只和非静态方法有关
多态
一个对象的实际类型是确定的
可以指向的引用类型就不是确定的: 比如可以父类的引用指向子类, Object类指向子类
子类重写了父类的方法,就执行子类的方法
子类可以调用的方法是自己的或者继承父类的, 父类可以指向子类,但是不能调用子类独有的方法
高类型转低类型要强转
来源:https://blog.csdn.net/doudoutj/article/details/119494193


猜你喜欢
- 前言本文主要给大家介绍了关于Spring Boot优化内嵌Tomcat的相关内容,分享出来供大家参考学习,下面话不多说了,来一看看详细的介绍
- 引看懂这张图,方法调用方法,栈开新栈,递归尾结束要回到main栈,必须一级一级返回,每一次返回都是调用整个方法,调用完成栈被释放,直至回到栈
- 如何实现?1.)首先实现全屏第一种:继承主题特定主题在Android API 19以上可以使用****.TranslucentDecor**
- 自定义封装 banner 组件,供大家参考,具体内容如下1. 效果图预览 2.基本功能一个简单方便的轮播图组件,基于viewpag
- OAuth 2.0 是一种工业级的授权协议。OAuth 2.0是从创建于2006年的OAuth 1.0继承而来的。OAuth 2.0致力于帮
- 一.mybatis的配置1.1 添加相应的jar包在lib文件夹下面添加mybatis的核心jar包以及依赖的jar包同在lib文件夹下面加
- 可以使用 graphics2D 类提供的 shear(
- 今天新建项目的时候突然发现编译后运行按钮为灰色。解决方案:第一步:点击图中的Add Configuration,出来如下界面第二步:点+号,
- 1.idea新建Maven项目Mybatis-study 将项目里的src文件夹删掉 依次将此项目作为父项目2.在Mybatis-study
- 老大让我check out 一个分支,可我在idea 右下角找了半天也没找到最后才发现:因为是刚创建的分支,我得先更新一下项目,连这个都不懂
- 1 内部类概述如果一个类存在的意义就是为指定的另一个类,可以把这个类放入另一个类的内部。就是把类定义在类的内部的情况就可以形成内部类的形式。
- 一、pom.xml引入相关模块web、jpa、thymeleaf、oracle:<dependency> &nbs
- 打注解@SpringBootTest的时候不会出现提示但是又导入了 <dependency> &nb
- 1.情景展示java发送get请求、post请求(form表单、json数据)至另一服务器;可设置HTTP请求头部信息,可以接收服务器返回c
- 节能减排,从我做起。一款Android应用如果非常耗电,是一定会被主人嫌弃的。自从Android手机的主人用了你开发的app,一天下来,也没
- 一、定界符成帧Framer接口package framer;import java.io.IOException;import java.i
- 1.情景展示静态方法内部实现:将指定内容生成图片格式的二维码;如何通过多线程实现?2.分析之所以采用多线程,是为了节省时间 3.解
- String password = RandomUtil.generateString(10);源码如下:package com.javan
- Map在Java8中新增了两个replace的方法1.replace(k,v)在指定的键已经存在并且有与之相关的映射值时才会将指定的键映射到
- 1、Pull概述Android系统中和创建XML相关的包为org.xmlpull.v1,在这个包中不仅提供了用于创建XML的 X