JAVA每日总结day6.21

ok了家人们,今天我们学习了面向对象中关键字的使用和抽象类,话不多说,我们一起看看吧,(今天终于星期五了,芜湖!!!)

一,thissuper关键字

1,this关键字的三种用法

1.1 this的意义 
this :表示当前对象
this 可以访问:本类的成员属性、成员方法、构造方法;
1.2 this.成员变量(第一种)

我们创建了一个Demo1类,并定义了一个没有封装的成员变量。

用了一个无参方法,

定义了一个show()方法,里面有一个局部变量,有两个输出语句

第一个输出语句打印了局部变量的值(num)

第二个打印了成员变量的值(this.num)

我们在主方法main中调用show()方法看看如何。

这就是this访问本类成员变量的基本使用了。

1.3 this.成员方法名();(第二种)

还是在Demo01中写,前面跟上面的一样没变,

在后面又定义了两个方法show02()和show03(),

并在show02()调用了show03()方法。

在主方法调用show01()方法和show02()方法,看看怎么个事。

可以看到我们在show02()方法中调用成功了,

这就是this访问本类成员方法的基本使用了。

1.4 this访问本类构造方法(第三种)

我们依旧是在Demo01中写,在第二种基础上加上了有参方法,

并在有参方法中调用了无参方法

我们创建Demo01类的对象看看怎么说,

这时有人可能会问,有参可以调用无参,那么无参可以调用有参吗?那当然可以了。

ok接下来我们看下super关键字的三种用法

2,super关键字的三种用法

2.1 super的意义

super :表示父类对象
super 可以访问:父类的成员属性、成员方法、构造方法;
2.2 super.父类成员变量名(第一种)

我们定义一个Super类,里面有一个成员变量。

子类smallSuper继承父类Super,里面定义了一个成员变量,

定义了一个show()方法,里面有一个局部变量

输出语句分别打印num,this.name,super.name

我们在main方法中调用一下show()方法看看

调用成功,这就是super访问父类的成员变量的基本使用了。

2.3 super.成员方法名();

我们在Super类中定义了一个方法method(),

我们又在子类smallSuper创建了一个同名方法method(),

我们在main方法中调用一下子类的method()方法

调用出来了,这就是super访问父类的成员方法的基本使用了。

2.4 super访问父类的构造方法

Super类中又加了两个方法,有参和无参方法,并有输出语句,有参方法里面有一个变量

子类也加无参方法,里面用super(num:10)调用父级的有参方法

也有一个输出语句

在main主方法创建子类对象,看看控制台的结果

ok,这就是super访问父类的构造方法的一个基本使用了。

2.5 注意事项
super 访问成员变量和成员方法 : 优先去父类中找 , 如果有就直接
使用 , 如果没有就去爷爷类中找 , 如果有 , 就用 , 依次类推 ...

子类的构造方法默认会调用父类的空参构造方法 , 如果父类中的没
有空参构造方法 , 只定义了有参构造方法 , 会编译报错。

3,抽象类

3.1 抽象类的概述和定义
概述 : 使用 abstract 关键字修饰的类就是抽象类
特点 : 这种类不能被创建对象 , 它就是用来做父类的 , 被子类继承的
抽象类的定义:
抽象类中的成员
        成员变量
        成员方法
        构造方法
        抽象方法

3.2 抽象方法
概述:没有方法体 , 使用 abstract 修饰的方法就是抽象方法
可以看到我们在父类chouXiang定义了两个抽象方法
我们在子类继承父类的时候报错了,是因为抽象方法,我们只需要
就ok了,
我们在main方法调用一下子类的方法,
这是抽象方法的使用
3.3 抽象类的特点
抽象类不能被创建对象,就是用来做 父类 ,被子类继承的。
抽象类不能被创建对象,但可以有 构造方法 ”—— 为成员属性初始化。
抽象类中可以没有抽象方法 , 但抽象方法必须定义在抽象类中子类继承抽象类后, 必须重写抽象类中所有的抽象方法 , 否则子类必须也是一个抽象类
子类
ok了家人们周一见。

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

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

相关文章

ECharts,拿来吧你!

作为一名前端程序员,在日常的项目开发中,我们会遇到各种各样的图表设计,那么,为了提高我们的开发效率,ECharts便应运而生了!它提供了丰富的图表样式和多浏览器支持的API接口,不仅能够将静态的数据转换为图表,还可以动态的请求后端传递过来的数据,将其以可视化的形式展现给用户,…

流量回放的数据隔离

流量回放的数据处理是决定流量回放的基础,流量回放中的流量都是在之前录制下来的。往往录制下来的流量并不能直接回放,这有两个原因,其一是录制下来的流量很难回放就能成功,很多有状态的数据已经被消费掉了,想要回放成功必须对流量进行处理,才能保证回放能够成功;其二是…

kakfa发版丢消息事件分析

背景 其他部门同事反馈在项目发版/重启(kill -15)的那段时间,经常会出现导致 C 端业务出现问题,从而产生资损 一听资损,赶紧应答下来,了解了下具体情况,然后立马去排查了 问题分析 结合同事的描述以及对业务的了解&a…

深度神经网络一

文章目录 深度神经网络 (DNN)1. 概述2. 基本概念3. 网络结构 深度神经网络的层次结构详细讲解1. 输入层(Input Layer)2. 隐藏层(Hidden Layers)3. 输出层(Output Layer)整体流程深度神经网络的优点深度神经…

Redis-事务-基本操作-在执行阶段出错不会回滚

文章目录 1、Redis事务控制命令2、Redis事务错误处理3、Redis事务错误处理,在执行阶段出错不会回滚 1、Redis事务控制命令 127.0.0.1:6379> keys * (empty array) 127.0.0.1:6379> multi OK 127.0.0.1:6379(TX)> set a1 v1 QUEUED 127.0.0.1:6379(TX)>…

深度学习前10节

1.机器学习的流程 (1)数据获取 (2)特征工程 (3)建立模型 (4)评估与应用 2.特征工程的作用 (1)数据特征决定了模型的上限 (2)预处理和特征提取是最核心的 &…

【Android面试八股文】你能说一说自定义View与ViewGroup的区别

文章目录 Android UI 组件:View 和 ViewGroupViewGroup 的职责View 的职责自定义 View 和 ViewGroup 的区别1. 继承的类不同2. 主要功能不同3. 重写方法不同4. 使用场景不同5. 事件分发方面的区别6. UI 绘制方面的区别Android UI 组件:View 和 ViewGroup 在 Android 开发中,…

关于http协议中的各种请求头、请求类型的作用以及用途

在HTTP协议中,请求头(HTTP Headers)用于在客户端(如浏览器或其他HTTP客户端)和服务器之间传递附加的信息。不同的请求头有不同的作用和用途,它们在HTTP请求的不同类型(如GET、POST、PUT等&#…

CTF-pwn-虚拟化-qemu前置知识

文章目录 参考地址相关交互相关配置相关调试待完善(以后做题用到啥再加吧) 参考 https://xz.aliyun.com/t/6562?time__1311n4%2bxnD0DRDBAiGkDgiDlhjmYh2xuCllx7whD&alichlgrefhttps://www.bing.com/#toc-3 地址相关 每个qemu虚拟机都是宿主机上…

JVM的类加载机制

Java中类的加载阶段 类加载 Java中的类加载机制是Java运行时环境的一部分,确保Java类可以被JVM(Java虚拟机)正确地加载和执行。类加载机制主要分为以下几个阶段: 加载(Loading):这个阶段&#x…

AI助手,办公提效好工具!

随着人工智能AI技术的发展,AI工具已经成为我们提高工作效率的重要工具。无论是日常办公、学习还是生活娱乐,AI工具都能为我们提供支持和帮助。下面小编就来和大家分享几款AI助手,方便大家了解和使用AI工具。 1. Kimi智能助手 Kimi智能助手是…

H3C综合实验

实验拓扑 实验要求 1、按照图示配置IP地址 2、sw1和sw2之间的直连链路配置链路聚合 3、 公司内部业务网段为VLAN10和VLAN20; VLAN 10是市场部,vlan20是技术部,要求对VLAN进行命名以便识别;PC1属于vlan10,PC2属于vlan20&#xf…

C++系统相关操作1 - 调用命令行并获取返回值

1. 关键词2. sysutil.h3. sysutil.cpp 3.1. system_util_unix.cpp3.2. system_util_win.cpp 4. 测试代码5. 运行结果6. 源码地址 1. 关键词 关键词: C 系统调用 system popen 跨平台 应用场景: 希望直接调用操作系统的某些命令,并获取命…

神经网络模型的量化简介(工程版)

1.量化简介 模型量化(Model Quantization)是深度学习中一种优化技术,旨在减少模型的计算和存储需求,同时尽量保持模型的性能。具体来说,模型量化通过将模型的权重和激活值从高精度(通常是32位浮点数&#…

数学建模整数规划学习笔记

与线性规划的本质区别在于决策变量是否取整。 (1)分支定界法 若不考虑整数限制先求出相应松弛问题的最优解: 若松弛问题(线性规划)无解,则ILP(整数规划)无解。 若求得的松弛问题最…

phar反序列化及绕过

目录 一、什么是phar phar://伪协议格式: 二、phar结构 1.stub phar:文件标识。 格式为 xxx; *2、manifest:压缩文件属性等信息,以序列化存 3、contents:压缩文件的内容。 4、signature:签名&#…

视频云存储平台LntonCVS国标视频平台功能和应用场景详细介绍

LntonCVS国标视频融合云平台基于先进的端-边-云一体化架构设计,以轻便的部署和灵活多样的功能为特点。该平台不仅支持多种通信协议如GB28181、RTSP、Onvif、海康SDK、Ehome、大华SDK、RTMP推流等,还能兼容各类设备,包括IPC、NVR和监控平台。在…

等保2.0中,如何确保云服务提供商的数据主权合规?

等保2.0(网络安全等级保护2.0)为了确保云服务提供商的数据主权合规,提出了若干关键措施和要求,主要包括但不限于以下几点: 1. 数据地理位置要求:明确规定云服务提供商必须保证所有基础设施位于中国境内&am…

海外云手机自动化管理,高效省力解决方案

不论是企业还是个人,对于海外社媒的营销都是需要自动化管理的,因为自动化管理不仅省时省力,而且还节约成本; 海外云手机的自动化管理意味着什么?那就是企业无需再投入大量的人力和时间去逐一操作和监控每一台设备。 通…

容器之滚动条窗体演示

代码; #include <gtk-2.0/gtk/gtk.h> #include <glib-2.0/glib.h> #include <gtk-2.0/gdk/gdkkeysyms.h> #include <stdio.h>int main(int argc, char *argv[]) {gtk_init(&argc, &argv);GtkWidget *window;window gtk_window_new(GTK_WINDO…