Java基础—面向对象—19static关键字详解、抽象类、接口、N种内部类

1、static关键字

匿名代码块、静态代码块、构造方法

静态代码块是在类加载的时候执行,仅执行一次

匿名代码块在调用构造函数之前

验证如下图:

2、静态导入包(可能很多人听都没听过)

3、Math是用final关键字的,final是常量的修饰符;通过final修饰的类就不能被继承了,没有子类

inherit就是继承的意思

2、抽象类与接口--难点是锻炼抽象的思维

抽象类:

抽象类只能单继承,但接口可以多继承

抽象类:由于单继承的局限性------设计模式可能用的到(abstract)

特点:

1、抽象类只是一种约束,不能new这个抽象类,只能靠子类去实现他

2、抽象类中可以有普通方法,抽象方法必须在抽象类中

思考:(后续待补充

抽象类不能new对象,有构造器么?

抽象类存在的意义是什么?

接口(interface):接口的本质是契约。把接口理解成插座,不约束插什么电器,但插头得符合要求。

“如果你是xxxx,则必须能xxxxx”:如果你是天使,则必须能飞;如果你是汽车,则必须能跑 

约束和实现抽离;只有规范,是非常专业的约束,自己无法写方法;面向接口编程

面向对象的精髓:是对对象的抽象,最能体现这一点的就是接口。

接口中的所有方法定义都是public abstract ,下图就是证明这一点:abstract是redundant(冗余的),为啥是public呢,因为是约束,如果不是public就不起作用了 

直接写:返回值类型 + 方法名字 即可

接口中的所有属性都是public static final(不过没有多少人在接口里定义常量)

接口都需要有实现类一般都以 Impl 结尾(字母是:impL,方便看)

实现接口 implements接口,实现了接口的类,就必须重写接口中的方法

IDEA快捷键:alt + insert

接口类 extends 单继承,可利用接口实现伪多继承

接口不能被实例化,接口中没有构造方法

3、内部类

(学到多线程lambda表达式,就会明白,这一部分暂时了解即可)

成员内部类:

静态内部类

一个Java类中(.java)可以有多个class,但只能有一个public class

局部内部类:

匿名内部类:

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

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

相关文章

日调用量超千万,超低查询延迟!跨越速运基于Flink + OceanBase的实时分析解决方案与实践

跨越速运成立于 2007 年,是一家在物流行业颇具影响力的大型综合速运企业。随着国内经济的持续增长,消费者的购物习惯也在不断变化,对物流行业的需求呈现爆发式增长。目前,跨越速运的服务已经覆盖全国 99% 的城市,年服务…

边缘计算第二版——第5章 边缘计算系统平台

5.3 面向智能家居的边缘计算系统 5.3.1 为什么要用EdgeOsH 智能家居的定义:一个自动化且智能的家居环境,使得居住者能够享受更健康、更舒适的生活。为了满足和改善居住者的生活方式,智能家居应该同时具备自我意识、自我管理、自我学习的能力…

【项目管理】整合管理

一、管理基础 1、项目整合管理由项目经理负责,项目经理负责整合所有其他知识领域的成果,并掌握项目总体情况。项目整合管理的责任不能被授权或转移,项目经理必须对整个项目承担最终责任。整合是项目经理的一项关键技能。执行项目整合时项目经…

java学习_数组

数组的储存原理 java内存分配数组名.length动态初始化数组的初始化 静态初始化 数组的长度eg. b.应用举例 c.在java中多个数组之间是可以相互赋值的。 eg. int []arr2 {1,2,3,4,5,6,7} int [] arr1arr2; 数组案例: 数组的初始化数组的访问数组的遍历 importjava.…

AIGC项目——Meta:根据对话音频生成带动作和手势的3d逼真数字人

From Audio to Photoreal Embodiment: Synthesizing Humans in Conversations From Audio to Photoreal Embodiment:Synthesizing Humans in Conversations 从二元对话的音频中,我们生成相应的逼真的面部、身体和手势。 概括性:角色是由作者的声音驱动的(而不是模…

SpringBoot 配置类解析

全局流程解析 配置类解析入口 postProcessBeanDefinitionRegistry逻辑 processConfigBeanDefinitions逻辑 执行逻辑解析 执行入口 ConfigurationClassPostProcessor.processConfigBeanDefinitions()方法中的do while循环体中 循环体逻辑 parse方法调用链 doProcessConfigurat…

STM32——看门狗

STM32——看门狗 1.独立看门狗IWDG 独立看门狗介绍 什么是看门狗? 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断&#x…

2023IT监控运维管理行业年度报告

随着信息技术的快速发展,IT监控运维管理软件在各行各业的应用越来越广泛。LinkSLA智能运维管家作为IT监控运维管理领域的优势品牌,深入洞察行业发展趋势,致力于为客户提供高效、稳定、安全的IT监控解决方案。 根据Gartner和艾瑞数据曾预测&a…

相片修复框架-GFPGAN

一 GFPGAN 介绍 GFPGAN 是一个由腾讯 ARC 团队开发的用于人脸图像生成和优化的 GAN 模型。在github可以找到开源的代码,它由两个主要模块组成: 退化移除模块 (U-Net):用于从低分辨率、低质量的人脸图像中恢复出高质量的人脸图像。 生成式脸部…

由《幻兽帕鲁》私服漏洞引发的攻击面思考

《幻兽帕鲁》私服意外丢档 当了一天的帕鲁,回家开机抓帕鲁的时候发现服务器无法连接。运维工具看了下系统负载发现 CPU 已经跑满。 故障排查 登录服务器进行排查发现存在可疑的 docker 进程。 经过一番艰苦的溯源,终于在命令行历史中发现了端倪 攻击…

【极数系列】Flink集成DataSource读取Socket请求数据(09)

文章目录 01 引言02 简介概述03 基于socket套接字读取数据3.1 从套接字读取。元素可以由分隔符分隔。3.2 windows安装netcat工具(1)下载netcat工具(2)安装部署(3)启动socket端口监听 04 源码实战demo4.1 po…

前端实现token的无感刷新--VUE

token刷新的方案 方案一:后端返回过期时间,前端判断token过期时间,去调用刷新token的接口 缺点:需要后端提供一个token过期时间的字段;使用本地时间判断,若本地时间被修改,本地时间比服务…

【解决】Unity 工程无法正常打开而崩溃问题

开发平台:Unity 2022.3.17f1c1 一、问题描述 访问 Unity 工程等待 Open Projet(busy for 时间),出现崩溃、闪退等情况,导致无法正常进入Unity编辑页面。 二、问题分析 笔者在 URP 渲染管线下处理 Obi Fluid 流体插件 D…

Docker本地部署Firefox浏览器并结合内网穿透公网访问

文章目录 1. 部署Firefox2. 本地访问Firefox3. Linux安装Cpolar4. 配置Firefox公网地址5. 远程访问Firefox6. 固定Firefox公网地址7. 固定地址访问Firefox Firefox是一款免费开源的网页浏览器,由Mozilla基金会开发和维护。它是第一个成功挑战微软Internet Explorer浏…

尝试搭建域

使用window 7 作为dmz 主机 server_2008 作为 预控 前提两台主机都在同一个LAN 下(设置一个LAN 区域),同样防火墙关闭状态 首先搞定server 2008 中的域 1. 在计算机属性中选择更改设置中将主机名修改一下: 2. 在server 2008 中…

echarts 柱状图数据过多时自动滚动

当我们柱状图中X轴数据太多的时候,会自动把柱形的宽度挤的很细,带来的交互非常不好,我们可以用dataZoom属性来解决 简易的版本,横向滚动。 option.dataZoom [{type: "slider",show: true,startValue: 0, //数据窗口范…

【刷题】牛客网 NC132 环形链表的约瑟夫问题

NC132 环形链表的约瑟夫问题 题目描述思路一(链表直通版)思路二(数组巧解版)思路三(变态秒杀版)Thanks♪(・ω・)ノ谢谢阅读下一篇文章见!!&#xff…

Oracle 的闪回技术是什么

什么是闪回 Oracle 数据库闪回技术是一组独特而丰富的数据恢复解决方案,能够有选择性地高效撤销一个错误的影响,从人为错误中恢复。闪回是一种数据恢复技术,它使得数据库可以回到过去的某个状态,可以满足用户的逻辑错误的快速恢复…

SpringCloudAlibaba组件总结笔记(如Nacos、SpringCloudGateway、OpenFeign,Ribbon,RabbitMQ)

这目录 1.Ribbon负载均衡1负载均衡原理2.负载均衡策略1.负载均衡策略2.自定义负载均衡策略 3.饥饿加载 2.Nacos注册中心与Eureka的区别3.Nacos配置中心1.从微服务拉取配置2.配置热更新1.2.1.方式一1.2.2.方式二 3.配置共享1.配置共享的优先级 4.Feign1.Feign使用优化2.配置连接…

使用Promethues+Grafana监控Elasticsearch

PromethuesGrafana监控Elasticsearch 监控选用说明指标上报流程说明实现监控的步骤搭建elasticsearch-exporter服务搭建promethues和grafana服务 监控选用说明 虽然用Kibana来监控ES,能展示一些关键指标,但ES本身收集的指标并不全面,还需要在…