学习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(...)

访问父类构造方法

 

        

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

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

相关文章

基于STM32的蓝牙遥控小车:手机APP控制小车运动

这里写目录标题 一、智能双轮小车蓝牙APP控制前后左右调速运动功能描述原理图设计PCB设计源码设计 二、更多功能小车网友推荐后开发... 一、智能双轮小车蓝牙APP控制前后左右调速运动 功能描述 1、小车可以前后左右运动 2、可以调节小车的速度 3、使用两个电机驱动两个轮子&a…

Go语言必知必会100问题-06 生产者端接口

生产者端接口 Go语言必知必会100问题-05 接口污染中介绍了程序中使用接口是有价值的。在编码的时候&#xff0c;接口应该放在哪里呢&#xff1f;这是Go开发人员经常有误解的一个问题&#xff0c;本文将深入分析该问题。 在深入探讨问题之前&#xff0c;先对提及的术语做一个定…

MySQL(2/3)

select和别名的使用 主要是用以查询数据 语法&#xff1a;select 字段 from 库名 -- *代表全部字段 select * from student; -- 可以查询多个字段&#xff0c;并使用as起别名&#xff0c;as可以省略 select id as bbb ,name as hhh from student; -- 可以使用函数concat(a,b…

新版Java面试专题视频教程——虚拟机篇②

新版Java面试专题视频教程——虚拟机篇② 3 垃圾收回3.1 简述Java垃圾回收机制&#xff1f;&#xff08;GC是什么&#xff1f;为什么要GC&#xff09;3.2 对象什么时候可以被垃圾器回收3.2.1 引用计数法3.2.2 可达性分析算法 3.3 JVM 垃圾回收算法有哪些&#xff1f;——4种3.3…

Python实现DAS单点登录

❇️ 流程 进入登录页面 &#xff08;DAS验证的登录页面&#xff09; 获取验证码图像&#xff0c;百度OCR识别 登录 &#x1f3de;️ 环境 Windows 11 Python 3.12 PyCharm 2023 &#x1f9f5; 准备工作 安装必要依赖库 bs4 Jupyter 推荐安装 Jupyter&#xff08;Anaco…

数学建模【相关性模型】

一、相关性模型简介 相关性模型并不是指一个具体的模型&#xff0c;而是一类模型&#xff0c;这一类模型用来判断变量之间是否具有相关性。一般来说&#xff0c;分析两个变量之间是否具有相关性&#xff0c;我们根据数据服从的分布和数据所具有的特点选择使用pearson&#xff…

Linux系统——Nginx小总结

目录 一、影响用户体验的因素 二、网络连接——Apache/Nginx服务请求过程 三、I/O模型——Input/Output模型 1.同步/异步 2.阻塞/非阻塞 3.同步异步/阻塞非阻塞组合 四、Nginx用法 一、影响用户体验的因素 客户端硬件配置客户端网络速率客户端与服务端距离服务端网络速…

容器库(12)-std::unordered_multiset

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

【JS】事件绑定方法自带一个形参e“function(e)”,what is e?

在学习js的时候 我跳过了一部分章节的内容&#xff0c;导致现在学习react的时候很多内容都不知所措&#xff0c;因为这些教程都是建立在它认为你js所有内容都掌握的前提下&#xff0c;当然这是我自身的原因。需要反省。 下面是正题&#xff1a; 我们知道js有很多事件&#…

学习 Python operator 模块的 itemgetter

学习 Python operator 模块的 itemgetter 0. 引言1. itemgetter函数说明1-1. 示例代码1-2. 多级排序 0. 引言 operator模块提供了一系列对操作符的函数化接口&#xff0c;例如&#xff1a;加法、乘法、比较操作等。 itemgetter函数是operator模块中的一个功能&#xff0c;它用…

【一】【SQL】表的增删查改(部分)

表之“增”操作 建表的操作 mysql> create table students(-> id int unsigned primary key auto_increment,-> sn int unsigned unique key,-> name varchar(20) not null,-> qq varchar(32) unique key-> ); Query OK, 0 rows affected (0.03 sec)mysql&g…

v-rep--addon--附加组件

附加组件汉化文档 官网 什么是addon 就是一个lua语言文件&#xff1b; 用户通过编写的lua文件来增加coppeliasim的功能。 addon的作用 通过用户编写的lua语言实现添加coppliasim功能。

Day01:Web应用架构搭建站库分离路由访问配置受限DNS解析

目录 常规的Web应用搭建 三种常规网站搭建模式 程序源码 中间件配置 数据库类型 文件访问路径 总结 章节知识点&#xff1a; 应用架构&#xff1a;Web/APP/云应用/三方服务/负载均衡等 安全产品&#xff1a;CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令&#xff1a;文件…

Pytorch添加自定义算子之(1)-安装配置Eigen库

一、安装对应的ubuntu环境 推荐使用Docker FROM nvcr.io/nvidia/pytorch:23.01-py3 RUN pip install tensorboardX RUN pip install pyyaml RUN pip install yacs RUN pip install termcolor RUN pip install opencv-python RUN pip install timm0.6.12 WORKDIR /app COPY . …

Python入门必学:print函数--从基础语法到高级用法

Python入门必学&#xff1a;print函数–从基础语法到高级用法 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 &#x1f448; 希望得到您…

2024 春招市场行情报告:鸿蒙人才遭“爆抢”

前言 2024年可以说是布道鸿蒙开发行业的最佳时机&#xff0c;华为在千帆启航仪式会中发布会中表示&#xff0c;已有200家头部企业加入原生开发当中&#xff0c;并且一直有高薪抢人的局面&#xff0c;这一信息已经引起业界很大关注。 因此有很多公司开始准备要招聘鸿蒙工程师&…

机器学习YOLO操作全流程​​编

YOLO介绍 Ultralytics YOLOv8,是最新的著名实时目标检测和图像分割模型。它基于深度学习和计算机视觉的最新进展,提供了无与伦比的速度和精度性能。由于其精简的设计,适用于各种应用,并且可以轻松适配不同的硬件平台,从边缘设备到云端API。 探索 YOLOv8 文档,这是一个全…

R语言【BIEN】——BIEN_occurrence_genus():从BIEN数据库下载特定属的观察记录。

Package BIEN version 1.2.6 Description BIEN_occurrence_genus() 从BIEN数据库下载特定属的观察记录。 Usage BIEN_occurrence_genus(genus,cultivated FALSE,new.world NULL,all.taxonomy FALSE,native.status FALSE,natives.only TRUE,observation.type FALSE,poli…

【MySQL】探索表结构、数据类型和基本操作

表、记录、字段 数据库的E-R&#xff08;entity-relationship&#xff0c;实体-关系&#xff09;模型中有三个主要概念&#xff1a; 实体集 、 属性 、 关系集 。 一个实体集对应于数据库中的一个表&#xff0c;一个实体则对应于数据库表 中的一行&#xff0c;也称为一条记录。…

【Linux基础】Linux自动化构建工具make/makefile

背景 会不会写makefile&#xff0c;从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文件不计数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;makefile定义了一系列的规则来指定&#xff0c;哪些文件需要先编译&#xff0c;哪些文件需要后…