【java入门系列六】java基础-面向对象进阶**

news2024/11/18 1:29:50

学习记录🤔

  • IDE快捷键
  • 访问修饰符
  • 封装
    • 结合构造器进行封装
  • 继承-代码的复用性
    • 继承的构造器
    • 继承的本质
  • super关键字
  • 方法的重写override
  • 多态**难点
    • 多态trick
    • instanceof
  • 动态绑定**
  • 多态数组
    • 多态参数
    • object类
    • trick
  • Object类
  • 创建对象流程
  • 讨论总结
    • 谢谢点赞交流!(❁´◡`❁)

更多代码: Gitee主页:https://gitee.com/GZHzzz
博客主页: CSDN:https://blog.csdn.net/gzhzzaa

IDE快捷键

在这里插入图片描述

  • 自动导入类包,alt+enter;
  • 补全代码 alt+/;
    在这里插入图片描述
  • 。var快速分配变量名;

在这里插入图片描述

  • 包就是不同的文件夹来保存类`文件``;
    在这里插入图片描述
  • 生成目录,小写包名;

访问修饰符

java 提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围):

  1. 公开级别:用 public 修饰,对外公开
  2. 受保护级别:用 protected 修饰,对子类和同一个包中的类公开
  3. 默认级别:没有修饰符号,向同一个包的类公开
  4. 私有级别:用 private 修饰,只有类本身可以访问,不对外公开
    在这里插入图片描述
  • 属性、方法、类都可以使用;
  • 类只能用默认和public,判断能否继承?

封装

在这里插入图片描述

  • 通过方法进行授权操作

在这里插入图片描述
在这里插入图片描述

结合构造器进行封装

将set方法写在构造器中
在这里插入图片描述

继承-代码的复用性

在这里插入图片描述

public class Pupil extends Student{
} 
  • 私有属性可以间接通过public方法去get与set;
  • public可以打破private进行变量操作;

继承的构造器

在这里插入图片描述

  • super()默认先调用父类无参构造器;

在这里插入图片描述
在这里插入图片描述

  • 没有无参构造器需要对super传参进行构造器的指定;
  • super需要放在第一行;

在这里插入图片描述

  • 单继承机制;

继承的本质

先加载父类信息-直到Object
在这里插入图片描述
在这里插入图片描述

  • 属性不会重写!访问时先看本类,就近原则!

super关键字

在这里插入图片描述

方法的重写override

在这里插入图片描述

  • 返回类型是子类或者同类;
  • 访问权限可以扩大;

多态**难点

  • 方法的多态是重载
  • 对象的多态是核心

在这里插入图片描述

  • 编译类型在定义对象已经确定

多态trick

在这里插入图片描述
在这里插入图片描述

  • 向上转型:子类特有成员不能调用,只能调用子类重写的方法;
    - 属性不能重写,所以调用的是编译类型的对象属性!

向下转型:可以调用子类特有成员;
在这里插入图片描述

  • 作用在向上转型之后,cat-animal-cat;

instanceof

判断对象的运行类型是什么类型与子类型?

动态绑定**

在这里插入图片描述

  • 调用方法先看运行类型的对象;
  • 调用属性看哪调用;

多态数组

在这里插入图片描述
在这里插入图片描述

  • 类型判断+向下转型来调用子类特有对象;

多态参数

形参是父类,实参可以是子类;

object类

在这里插入图片描述

  • 引用类型看运行类型对象是否相同!
  • 同一对象

在这里插入图片描述

  • equals可以比较子类字符串内容,不用同一对象!
    在这里插入图片描述
    在这里插入图片描述
  • equal是重写!

trick

  • 65 = 65.0!

在这里插入图片描述

Object类

在这里插入图片描述

  • system.gc()主动垃圾回收,调用finalize;

创建对象流程

在这里插入图片描述

  • 默认、显示、构造器初始化

讨论总结

263-286-311-324–334

  • super调用父类的构造器this对构造器的复用都要在构造器第一行,因此不能一起用;
  • ctrl+H查看类的继承关系;
  • ==看是否为同一对象(基本类型看值 ),equals看是否为同样的地址,可以改写看值!
    时间还很多,每天保持思考、保持进步,跬步至千里!
    • Fighting!😎

在这里插入图片描述

while True:
	Go life

在这里插入图片描述

谢谢点赞交流!(❁´◡`❁)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/184164.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MDK的格式化代码工具及添加快捷方式

文章目录Astyle介绍插件安装参数设置格式化整个工程参数说明快捷键设置参考Astyle介绍 Astyle 即Artistic Style,是一个可用于C, C, C/CLI, Objective‑C, C# 和Java编程语言格式化开源工具。 官网:Artistic Style - Index 插件安装 不用安装&#xf…

年前花2个月面过阿里测开岗,拿个27K也不过分吧?

背景介绍 美本计算机专业,代码能力一般,之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发,第二份实习由于大三暑假回国的时间比较短(小于两个月),于是找的实…

23.1.29 make menuconfig执行过程

1、将uboot源码拷贝ubuntu中 1.在家目录创建一 -个demo文件夹 2.将en. SOURCES - stm32mp1- openstlinux-5.10- dunfell- mp1-21- 11-17_ tar_ v3.1.0. xz文件夹拷贝到~/ demo文件夹下面 3.进入~/demo目录下,对en . SOURCES- stm32mp1 - openstlinux-5. 10- dunfell…

第02天-Java数据结构和算法

目录 021_单链表新浪面试题 单链表面试题(新浪、百度、腾讯) 代码实现 022_单链表腾讯面试题 图解 代码实现 023_单链表百度面试题 图解 代码实现 024_双向链表增删改查分析图解 双向链表应用实例 图解 代码实现 026_双向链表功能测试和小结 …

10个方法教你解决虚幻4运行崩溃问题

“多年来我一直在我的电脑上使用不同版本的虚幻引擎 4,但最近它突然在启动时崩溃。我最初认为这是一个项目相关的问题,但后来注意到即使是从桌面图标或 Epic Games Launcher执行Unreal Engine 4,也是闪了几秒就直接闪退了。这个问题真是让我很…

Nginx从入门到精通(从安装到实践,持续更新中)

一,安装从官网下载相应的tar包http://nginx.org/通过命令tar zxvf tar包名 -c 解压路径 解压到指定的目录下在解压的nginx包下有一个confuture文件,可通过./confuture判断是否符合安装条件(./configure --prefix/usr/local/nginx即可指定一会…

H3CMSR 系列路由器限速配置

1 配置需求或说明 1.1 适用产品系列 本手册适用于如下产品:MSR 全系列路由器 1.2 配置需求及实现的效果 MSR路由器G0/0接口连接公网,G0/1接口连接内网,内网网关地址为MSR路由器VLAN1虚接口地址192.168.1.1/24,需要实现对内网I…

1605_Git版本管理概念图解_git_for_computer_scientists阅读

全部学习汇总: GitHub - GreyZhang/g_unix: some basic learning about unix operating system. 目前没有很好的笔记分类放置这一份学习笔记,因为我的工具箱分类并不适合它。我之前的工具箱笔记主要还是简洁扼要来列出工具使用的参考,而这个其…

超导量子计算机

1.超导量子计算机发展状况 2018年3月5日美国物理学会年会上,谷歌展示了其正在测试的72量子位超导量子芯片Bristlecone。谷歌物理学家朱利安凯利表示,研讨团队希望初次运用更大的量子芯片来展现霸权,并完成传统计算机不能够完成的计算。芯片之…

React学习教程

React学习教程git地址React基础知识点1.什么是React (★★★)特点2.React脚手架2.1 使用React脚手架初始化项目2.2 项目目录说明调整JSX基础1. JSX介绍2. JSX中使用js表达式3. JSX列表渲染4. JSX条件渲染5. JSX样式处理6. JSX注意事项React组件1.React组…

监控系统的基本架构(Metric monitoring)

前言 最近准备做一个监控系统,正好看到了这篇文章,这篇文章很简单,但很清晰,结合原文的图片,我进行一下翻译。 原文地址 ByteByteGo 原文 A well-designed metric monitoring and alerting system plays a key rol…

YoLoV1~YoLoV3 SPP

截止到今日,差不多对深度学习有了一定了解了,从图像分类的各种神经网络再到YOLO系列的目标检测,一步一步的逐渐实现相应功能,但对于一些具体的代码细节、部分理论,后期可能还需要加强学习和理解。但是转眼也快开学了&a…

IB 课程的挑战 (一)

近年来许多学校都引入 IB 课程 (国际预科文凭课程),让家长在为子女安排升学路途上能有更多的选择。然而,学生在修读IB课程时会遇到什么挑战呢?以下我们就会为大家分享几个有关IB课程的挑战,让各位家长得以参考。 挑战一:时间分配…

ConstraintLayout 使用详解,减少嵌套 UI, 提升性能

前言 对于初学者来说,可能觉得ConstraintLayout属性多,且属性长而弃用它,那你错失了这个大宝贝。 因为在复杂布局,我们会一直用RelativeLayout和LinearLayout去嵌套,因为嵌套的ViewGroup会导致手机多次测量和绘制&am…

解剖华为 Mate 50 Pro主板

华为Mate 50 Pro整体拆解难度中等,可还原性强。主板则是采用堆叠结构,主板1正面主要IC包括高通骁龙84G处理器芯片…… 日前,有拆解机构对华为Mate 50 Pro整机进行了拆解,表示其内部的配件大约有90%是国产元器件,如屏幕…

【Node.js实战】一文带你开发博客项目之Express重构(初始化环境,处理 session,连接 redis)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…

循环UI列表

先看一下效果 支持自定义选项数量,按钮切换,鼠标滑动切换,当前项框选提示,选项缩放等功能 SlideSwitch:鼠标切换选项开关,关闭只能点击按钮切换 SlideOffset:滑动触发值,鼠标X轴向滑动大于此值切换选项,小于不触发 ScaleSwitch:缩放开关,开启…

乘法逆元 +数论分块 +平方和公式

年后准备学习啦,开学还得准备考试。 乘法逆元: 因为涉及到除法,所以取余这个操作就错误。 所以如果我们要求(a/b)%mod,我们可以假设 (a/b)%mod a*c%mod 那么c就是b的逆元。 怎么求逆元呢,其实有很多方法…

指定加拿大UBC|临床肿瘤专业应届博士成功获访问学者offer

G博士指定加拿大UBC,本人具有多年的临床工作经验,但科研产出较少。经过努力,最终我们落实了该校的访问学者职位。又历经半年的流程,G博士终于获得加拿大签证,前往UBC报到。建议:提前申请,预留出…

蓝桥杯刷题-入门题(终章一)

你是如风的少年~😃 空 清新民谣版 - 汪小敏 - 单曲 - 网易云音乐 自在的少年 - 要不要买菜 - 单曲 - 网易云音乐 最后15道入门题,做完这15道,NEWOJ就91道题AC了 目录 一,数根 二,最大值和最小值(I&…