当前位置: 首页 > news >正文

学习JAVA的第七天(基础)

目录

static

 静态变量

静态方法

工具类:

  static的注意事项     

 继承

 继承的好处

 继承的特点

方法的重写

书写格式

@override重写注解

方法重写的要求

this关键字

super关键字


 

static

  •  static表示静态,是Java中的一个修饰符,可以修饰成员变量成员方法

 静态变量

                被static修饰的成员变量,叫静态变量

特点

        被该类所有对象共享

        不属于对象,属于类

        随着类的加载而加载,优先于对象存在

调用方式:

        类名调用

        对象名调用

静态方法

                   被static修饰的成员方法,叫静态方法 

特点:

        多在测试类和工具类

        Javabean类中很少会用

调用方式:

        类名调用

        对象名调用

工具类:

        不描述任何事物的类

public class ArrayUtil {private ArrayUtil() {}//需要定义静态的,方便调用//输出数组内容public static String printArr(int[] arr) {StringBuilder sb = new StringBuilder();sb.append("[");for(int i = 0; i < arr.length; i++){if(i == arr.length-1){sb.append(arr[i]);}else{sb.append(arr[i]+",");}}sb.append("]");return sb.toString();}//算平均数public static double getAverage(double[] arr) {double sum = 0;for(int i = 0; i < arr.length; i++){sum += arr[i];}return sum/arr.length;}
}

  static的注意事项     

  • 静态方法只能访问静态变量和静态方法
  • 非静态方法可以访问静态变量和静态方法,也可以访问非静态的成员变量和非静态的成员方法
  • 静态方法中没有this关键字                                  

 继承

        java提供了一个关键字extends,用这个关键字,可以让一个类和另一个类建立继承关系

 继承的好处

  • 提高了代码的复用性
  • 子类可以在父类的基础下,增加其他功能,使子类功能更加强大。

 继承的特点

        Java只支持单继承,不支持多继承,但支持多层继承

        子类不能继承父类的构造方法

        子类可以继承父类的成员变量,但不能直接使用父类中被private修饰的成员变量

        只有父类中的虚方法(非private 非static 非final)才能被子类继承

 继承中成员变量的调用方法就近原则

方法的重写

        当父类的方法不能满足子类的需求时,需要进行方法重写

书写格式

                在继承体系中,子类出现与父类一样的方法声明,我们就称子类的方法是重写的方法。

@override重写注解

        @override放在重写的方法上面,验证子类重写的方法是否正确

方法重写的要求

        重写方法的名称,形参列表必须与父类一致

        重写方法时,访问权限子类必须>=父类

        重写方法时,返回值类型必须<=父类

        只有被添加到虚方法表的方法才能被重写

this关键字

        理解成一个变量,表示当前方法调用者的地址值

super关键字

        代表父类存储空间

关键字访问成员变量访问成员方法访问构造方法
this

this.成员变量

访问本类成员变量

this.成员方法()

访问本类成员方法

this(...)

访问本类构造方法

supersuper.成员变量

super.成员方法()

访问父类成员方法

super(...)

访问父类构造方法

 

        

相关文章:

学习JAVA的第七天(基础)

目录 static 静态变量 静态方法 工具类&#xff1a; static的注意事项 继承 继承的好处 继承的特点 方法的重写 书写格式 override重写注解 方法重写的要求 this关键字 super关键字 static static表示静态&#xff0c;是Java中的一个修饰符&#xff0c;可以修饰成…...

GoLand 相关

goland 下载依赖 go mod tidy&#xff1a;保持依赖整洁 go mod tidy 命令的作用是清理未使用的依赖&#xff0c;并更新 go.mod 以及 go.sum 文件。 go mod tidy 和 go mod vendor 两个命令是维护项目依赖不可或缺的工具。go mod tidy 确保了项目的 go.mod 文件精简且准确&…...

顶顶通呼叫中心中间件-如何使处于机器人话术中的通话手动转接到坐席分机上

文章目录 前言联系我们实现步骤freeswitch命令转接api接口转接 前言 本文讲解呼叫中心中间件如何手动转接通话。 场景&#xff1a;利用自动外呼进入机器人&#xff0c;在通话过程中&#xff0c;转接到坐席分机上。 联系我们 有意向了解呼叫中心中间件的用户&#xff0c;可以点…...

RabbitMQ开启MQTT协议支持

1&#xff09;RabbitMQ启用MQTT插件 rootmq:/# rabbitmq-plugins enable rabbitmq_mqtt Enabling plugins on node rabbitmq: rabbitmq_mqtt The following plugins have been configured:rabbitmq_managementrabbitmq_management_agentrabbitmq_mqttrabbitmq_web_dispatch Ap…...

Orange3数据预处理(列选择组件)数据角色及类型描述

在Orange3的文件组件中&#xff0c;datetime、categorical、numeric以及text代表不同种类的数据类型&#xff0c;具体如下&#xff1a; datetime&#xff1a;代表日期和时间类型的数据。通常用于时间序列分析、生存分析和其他需要考虑时间因素的机器学习任务中。例如&#xff0…...

c sharp资料

资料 c#菜鸟教程 Xml XmlNode 类 XPath或运算 SelectNodes的使用 基础 string.Format 复合格式设置标准数字格式字符串...

《低功耗方法学》翻译——第十四章:电源切换网络设计

第十四章&#xff1a;电源切换网络设计 功率门控是在待机或休眠模式下降低漏电功率最有效的方法&#xff0c;但这种方法存在诸如休眠晶体管占用的硅面积、永久和虚拟电源网络的布线资源以及复杂的功率门控设计和实现过程等开销&#xff0c;影响设计风险和进度。 除了开销外&a…...

如何使用Axure RP制作web页面并实现无公网ip远程访问——“cpolar内网穿透”

文章目录 前言1.在AxureRP中生成HTML文件2.配置IIS服务3.添加防火墙安全策略4.使用cpolar内网穿透实现公网访问4.1 登录cpolar web ui管理界面4.2 启动website隧道4.3 获取公网URL地址4.4. 公网远程访问内网web站点4.5 配置固定二级子域名公网访问内网web站点4.5.1创建一条固定…...

vue2实现无感刷新token

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 &#x1f4d8; 引言&#xff1a; &#x1f4…...

每日学习-2月18日

知识点&#xff1a;二叉树 中序遍历算法&#xff1a; void InOrderTraverse(BiTree T) { if(TNULL) return; InOrderTraverse(T->lchild); printf("%c",T->data); InOrderTraverse(T->rchild); } 算法过程&#xff1a; (1)调用InOrderTraverse(T)&#…...

AI 使人机交互发生根本性转变 AI芯片主战场,变了

语言将主导AI交互界面&#xff0c;同时AI应用正逐步适应人类 AI正创造人为中心和基于代理的未来。 这是 OpenAI 首位投资人 Vinod Khosla 关于 AI 交互与革命的最新洞察。Khosla 对常见术语“AI 硬件”和“小工具”表示怀疑&#xff0c;他主张从一个新的视角来看待这些设备&a…...

容器库(12)-std::unordered_multiset

unordered_multiset是以key为元素无序的关联容器&#xff0c;搜索、移除和插入操作是平均常数的时间复杂度。unordered_multiset在内部没有按任何顺序排列&#xff0c;而是放在桶当中的&#xff0c;放进哪个桶是通过计算key的hash值来决定的。和unordered_set不同的是&#xff…...

Mysql学习之事务日志undolog深入剖析

Undo log redo log 是事务持久性的保证&#xff0c;undo log是事务原子性的保证。在事务中更新数据的前置操作其实是要先写入一个undo log。 如何理解undo 日志&#xff1f; 事务需要保证原子性&#xff0c;也就是事务中的操作要么全部完成&#xff0c;要么什么也不做。但有时…...

springboot整合druid及可能遇到的问题

第一步&#xff0c;导入druid的maven依赖 在这里&#xff0c;我们选择导入druid-spring-boot-starter&#xff0c;使用配置文件的形式进行配置&#xff08;不需要再编写配置类&#xff09; <dependency><groupId>com.alibaba</groupId><artifactId>dr…...

c++文件的打开、读写和关闭。缓冲区的使用和控制。

在C中&#xff0c;文件的打开、读写和关闭通常使用标准库中的文件流对象&#xff08;如std::ifstream用于输入文件&#xff0c;std::ofstream用于输出文件&#xff09;来完成。这些对象封装了与操作系统交互的底层细节&#xff0c;使得文件操作更为简单和安全。 以下是文件打开…...

网络层的DDoS攻击与应用层的DDoS攻击之间的区别

DDoS攻击&#xff08;即“分布是拒绝服务攻击”&#xff09;&#xff0c;是基于DoS的特殊形式的拒绝服务攻击&#xff0c;是一种分布式、协作的大规模攻击方式&#xff0c;主要瞄准一些企业或政府部门的网站发起攻击。根据攻击原理和方式的区别&#xff0c;可以把DDoS攻击分为两…...

Windows系统安全策略设置之本地NTLM重放提权

经安全部门研究分析&#xff0c;近期利用NTLM重放机制入侵Windows 系统事件增多&#xff0c;入侵者主要通过Potato程序攻击拥有SYSTEM权限的端口伪造网络身份认证过程&#xff0c;利用NTLM重放机制骗取SYSTEM身份令牌&#xff0c;最终取得系统权限&#xff0c;该安全风险微软并…...

AI云增强升级!还原生动人像,拍出质感照片

近期不少细心用户发现&#xff0c;在用HUAWEI Mate 60 Pro手机拍照后&#xff0c;使用相册中的AI云增强功能&#xff0c;照片变得更加细腻有质感。这是因为AI云增强升级并更新支持了人像模式拍摄的照片&#xff0c;高清自然的人像细节还原和单反级别的光学景深效果&#xff0c;…...

PHP WebSocket:技术解析与实用指南

本文旨在帮助初学者掌握在PHP中使用WebSocket的关键概念和技术。我们将深入讨论从建立连接、绑定到监听等各方面的操作&#xff0c;并提供易于理解和实践的指导。 一、socket协议的简介 WebSocket是什么&#xff0c;有什么优点 WebSocket是一个持久化的协议&#xff0c;这是…...

K8S实战:Centos7部署Kubernetes1.24.0集群

本人在参考Kubernetes(k8s) 1.24.0版本基于Containerd的集群安装部署部署Kubernetes1.24.0集群时&#xff0c;遇到几个问题&#xff0c;下面将要注意的点罗列在下面&#xff1a; 集群需要配置hosts,如下所示&#xff0c;IP根据自己的实际情况填写&#xff0c;否则在kubeadm in…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...