菜鸟的JavaSE学习之旅7

这是一个目录

  • 数组工具类Arrays
  • 数学工具类Math
  • 继承
    • 重写(Override)覆盖、覆写
      • 注意
    • 构造方法
    • super关键字用法
    • this关键字
    • super和this
  • 抽象
    • 抽象方法和抽象类格式
    • 抽象方法和抽象类使用
    • 抽象方法和抽象类注意事项

数组工具类Arrays

java.util.Arrays是一个与数组相关的工具类,里面提供了大量静态方法,用来实现数组常见的操作。

public static String toString(数组);//参数数组变成字符串
public static void sort(数组);//默认升序对数组元素进行排序
//字符串:按照字母升序
public class DemoArrays{
	public static void main(String[] args){
		int[] array1 = {2,1,3,10,6};
		Arrays.sort(array1);
		System.out.println(Arrays.toString(array1));
	}

}

数学工具类Math

java.util.Math

public static double abs(double num);//获取绝对值
public static double ceil(double num);//向上取整
public static double floor(double num);//向下取整
public static long roud(double num);//四舍五入
Math.PI//代表近似圆周(double)

继承

继承是多态的前提,解决的问题就是共性抽取
java语言是单继承的,一个类的直接父类只能有一个,一个父类可以有多个子类
可以多级继承
在这里插入图片描述

//定义父类的格式
public class 父类名称{

}
//定义子类的格式
public class 子类名称 extends 父类名称{

}

直接通过子类对象访问成员变量:等号左边是谁,就优先用谁,没有则向上找
间接通过成员方法访问成员变量:方法属于谁(定义在哪儿)就优先用谁,没有则向上找
局部变量:直接写成员变量名
本类成员变量:this.成员变量名
父类的成员变量:super.成员变量名

重写(Override)覆盖、覆写

继承关系中,方法名称一样,参数列表也一样
创建的是子类对象则优先用子类方法

注意

1、必须保证父子类之间的方法名称相同,参数列表也相同
@Override
2、子类方法的返回值必须小于父类方法的返回值范围
3、子类方法的权限必须大于等于父类方法的权限修饰符
public>protected>(default)>private

构造方法

访问特点:
1、子类构造方法中有一个默认隐含的super()调用,先调用父类构造,后执行子类构造
2、子类可通过super关键字来调用父类重载构造
3、super关键字的父类构造调用,必须是子类构造方法的第一个语句
子类必须调用父类构造方法,不写则赠送super(),super只能有一个,而且只能写在第一个语句中

super关键字用法

1、 在子类的成员方法中访问父类成员变量
2、 在子类的成员方法中访问父类的成员方法
3、 在子类的构造方法中访问父类的构造方法

this关键字

1、 在本类的成员方法中访问父类成员变量
2、 在本类的成员方法中,访问本类的另一个成员方法
3、 在本类的构造方法中,访问本类的另一个构造方法
4、this调用也必须是构造方法的第一个语句,唯一一个
5、super和this两种构造调用不能同时使用,各自都必须是第一个

super和this

父类:

public class Fu{
	int num = 10;
	public void method(){
		System.out.println("父类方法");
	}
}

子类:

public class Zi extends Fu{
	int num = 20;
	@Override
	public void method(){
		System.out.println("子类方法");
	}
	public void show(){
		int num = 30;
		System.out.println(num);//30
		System.out.println(this.num);//20
		System.out.println(super.num);//10
	}	
}

demo:

public class Demo{
	public static void main(String[] args){
		Zi zi = new Zi();
		zi.show();
		zi.method();
	}
}

在这里插入图片描述

抽象

抽象方法和抽象类格式

加上abstract关键字,去掉大括号,直接分号结束
抽象方法所在的类必须是抽象类

public abstract class Animal{
	public abstract void eat();
	//普通成员方法
	public void normalMethod(){
	
	}
}

抽象方法和抽象类使用

不能直接创建抽象类对象,必须用一个子类继承抽象父类,子类必须覆盖重写(实现)抽象父类中所有抽象方法
创建子类对象进行使用

抽象方法和抽象类注意事项

抽象类不能创建对象
抽象类可以有构造方法,供子类创建对象,初始化父类成员
抽象类中,不一定包含抽象方法,但是有抽象方法的类一定是抽象类
抽象类的子类必须重写抽象父类中所有抽象方法

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

飞书API(10):通过阿里云MaxCompute数仓入库 - 转为阿里云 DataFrame 再入库

一、引入 上一小节介绍了怎么入库到阿里云的 MaxCompute 数仓,其中涉及到 2 种入库方式,一种是转为阿里云的 DataFrame,然后类似 pandas 的 DataFrame 直接写入 MySQL 的方法,将数据写入表中;另外一种是转为列表&…

linux开发之设备树四、设备树中断节点

中断节点 这里是由原厂的BSP工程师写的一部分 在CPU的外部有一个GIC控制器,外设会连接在GIC控制器上 设备树是对硬件进行描述的,所以设备树会对CPU进行描述,也要对GIC 控制器进行描述,这部分的代码由原厂的BSP工程师进行编写&…

微软Build开发者大会速览,OpenAI CEO站台剧透新模型

5月22日凌晨,微软Build 2024开发者大会在美国西雅图召开。微软CEO萨蒂亚纳德拉在会上发表主题演讲,宣布了超过50项产品更新,涵盖AI基础设施、模型产品以及生产力工具等多个领域。纳德拉强调,微软一直致力于让人工智能理解人类并帮…

Python的解析网页

课前案例 通过requests模块爬取指定网站中的图片并保存到本地目录中。 上述案例采用的是同步方式下载图片,效率太低。异步方式如下(线程): # target为目标函数;args中传入的是download函数的参数url threading.Threa…

TypeScript系列之-- 数组和元组类型

数组的定义&#xff1a; 第一种&#xff0c;可以在元素类型后面接上[] let list: number[] [1, 2, 3]; 第二种方式是使用数组泛型&#xff0c;Array<元素类型> let list: Array<number> [1, 2, 3]; 如果数组想每一项放入不同数据怎么办&#xff1f;用元组类型…

C# yolov8 TensorRT +ByteTrack Demo

C# yolov8 TensorRT ByteTrack Demo 目录 效果 说明 项目 代码 Form2.cs YoloV8.cs ByteTracker.cs 下载 参考 效果 说明 环境 NVIDIA GeForce RTX 4060 Laptop GPU cuda12.1cudnn 8.8.1TensorRT-8.6.1.6 版本和我不一致的需要重新编译TensorRtExtern.dll&…

深入分析 Android Activity (十)

文章目录 深入分析 Android Activity (十)1. Activity 的资源管理1.1 使用资源 ID 访问资源1.2 Drawable 资源1.3 使用 TypedArray 管理资源1.4 使用资源配置 2. Activity 的数据存储2.1 SharedPreferences2.2 文件存储2.3 SQLite 数据库2.4 ContentProvider 3. Activity 的性能…

倪老师是教我们如何去读书

之前一篇我们了解了倪老师&#xff0c;告诉我们如何去学习一些东西&#xff0c;今天这一篇&#xff0c;我把倪老师视频里面总结的几点&#xff0c;倪老师教我们如何去读书&#xff0c;我把一些小细节做了一个简单的整理&#xff0c;我们共同地去看&#xff0c;倪老师是教我们如…

JVS物联网、逻辑引擎、智能BI(重构优化)5.21功能新增说明

项目介绍 JVS是企业级数字化服务构建的基础脚手架&#xff0c;主要解决企业信息化项目交付难、实施效率低、开发成本高的问题&#xff0c;采用微服务配置化的方式&#xff0c;提供了 低代码数据分析物联网的核心能力产品&#xff0c;并构建了协同办公、企业常用的管理工具等&am…

SqliSniper:针对HTTP Header的基于时间SQL盲注模糊测试工具

关于SqliSniper SqliSniper是一款基于Python开发的强大工具&#xff0c;该工具旨在检测HTTP请求Header中潜在的基于时间的SQL盲注问题。 该工具支持通过多线程形式快速扫描和识别目标应用程序中的潜在漏洞&#xff0c;可以大幅增强安全评估过程&#xff0c;同时确保了速度和效…

使用 Django 连接 MySQL 数据库

文章目录 步骤一&#xff1a;安装必要的库和驱动步骤二&#xff1a;配置数据库连接步骤三&#xff1a;执行数据库迁移步骤四&#xff1a;开始使用 MySQL 数据库创建一个模型迁移模型到数据库使用模型进行数据操作创建新记录&#xff1a;查询记录&#xff1a;更新记录&#xff1…

Innodb Buffer Pool缓存机制(一)一条sql的执行过程

思维导图 石墨文档&#xff1a;https://shimo.im/mindmaps/NJkbnZV0ePINXzkR 一、SQL的执行 执行过程&#xff1a; 加载缓存数据&#xff0c;加载id为1的记录所在的整页数据&#xff08;相当于索引树的一个结点&#xff0c;16KB&#xff09;&#xff1b;写入更新数据的旧值到…

重生奇迹mu卡智力的方法

1、准备3个号A打手,B智力MM,C随意。 2、使用C匹配组队,但是不能选择自动进入队伍。 3、用A申请C的队伍,但是C不做通过处理。 4、用A组B,用快捷键D的方式。 5、所谓的卡智力就是智力MM可以给打手加属性加血&#xff0c;但是并不在一个队伍里享受经验&#xff0c;适用于MM不是…

如何提升网站运营效率

企业网站作为品牌展示、客户获取和商业目标实现的关键平台&#xff0c;其运营效率的提升对增强用户体验、搜索引擎排名和转化率至关重要。以下是一些有效技术和策略的介绍&#xff0c;旨在助力您提高网站运营的效率。 一、网站速度的优化 1.1 利用内容分发网络&#xff08;CD…

基于Docker的ROS开发

本文主要介绍如何使用Docker在Windows和Linux环境中部署并使用ROS&#xff0c;通过Docker Container运行ROS&#xff0c;可以方便我们在一个本地环境中运行多个ROS版本。 更多内容&#xff0c;访问专栏目录获取实时更新。 关于ROS的版本 参考ROS1 Distribution Wiki和ROS2 Dis…

轻松驾驭文件管理:一键转换格式,自定义重命名,让你的文件整理更高效便捷!

在日常工作和生活中&#xff0c;我们经常会面临需要修改文件格式的情况。无论是转换文件为更普遍使用的格式&#xff0c;还是根据特定需求调整文件的扩展名&#xff0c;都需要一个简单而有效的文件管理工具来完成这项任务。那么&#xff0c;文件批量改名高手将会让您在文件格式…

开源博客项目Blog .NET Core源码学习(28:App.Hosting项目结构分析-16)

本文学习并分析App.Hosting项目中后台管理页面的用户管理页面。   用户管理页面用于显示、检索、新建、编辑、删除用户数据&#xff0c;其附带一新建及编辑页面&#xff0c;以支撑新建和编辑用户数据&#xff0c;同时还附带重置密码页面&#xff0c;以重置用户密码。整个页面…

【安全产品】基于HFish的MySQL蜜罐溯源实验记录

MySQL蜜罐对攻击者机器任意文件读取 用HFish在3306端口部署MySQL蜜罐 配置读取文件路径 攻击者的mysql客户端版本为5.7(要求低于8.0) 之后用命令行直连 mysql -h 124.222.136.33 -P 3306 -u root -p 可以看到成功连上蜜罐的3306服务&#xff0c;但进行查询后会直接lost con…

弘君资本:原始股、普通股、优先股、分红股有什么区别?

1、原始股是公司在上市之前发行的股票&#xff0c;一般只有公司管理层、董事长、监事、公司重要职工、股权出资基金等才干取得公司的原始股。原始股需求出资认购。 在股市里也叫做限售股&#xff0c;一般的原始股&#xff0c;发起人持有的本公司股份&#xff0c;自公司建立之日…

ABP框架+Mysql(一)

生成项目 通过用官网的来生成 Get Started | ABP.IO 配上官网地址&#xff0c;需要注意的是&#xff0c;数据库选择Mysql 选择完成后&#xff0c;执行页面上的两条命令 dotnet tool install -g Volo.Abp.Cli abp new Acme.BookStore -dbms MySQL -csf 生成结束后的内容 单击打…