菜鸟的JavaSE学习之旅7

news2024/11/17 4:57:57

这是一个目录

  • 数组工具类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(){
	
	}
}

抽象方法和抽象类使用

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

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

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

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

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

相关文章

手写promise、call、apply、debounce、throttle 等

1、promise 1.1 实现resolve和reject class MyPromise {// 构造方法constructor(executor) {// 初始化值this.initValue()// 初始化this指向this.initBind()try {// 执行传进来的函数executor(this.resolve, this.reject)} catch (e) {// 捕捉到错误直接执行rejectthis.rejec…

微调真的能让LLM学到新东西吗:引入新知识可能让模型产生更多的幻觉

大型语言模型(llm)是在巨大的文本语料库上训练的,在那里他们获得了大量的事实知识。这些知识嵌入到它们的参数中,然后可以在需要时使用。这些模型的知识在培训结束时被“具体化”。在预训练结束时,模型实际上停止学习。 对模型进行对齐或进行…

【NumPy】全面解析arange函数:高效创建数值范围数组

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

如何高效搜索?99%的人都不知道的搜索进阶小技巧

如何高效搜索任何你想要的信息? 比如怎么找第一手的行业研究报告? 在哪查高清无码的图片素材? 怎么搜最新的AI工具教程? 遇到以上问题你会怎么搜? 可能大部分人都是直接打开百度查关键词,虽然随便一搜…

2024年学浪课程下载工具

学浪下载工具我已经打包好了,有需要的自己下载一下 学浪下载器链接:百度网盘 请输入提取码 提取码:1234 --来自百度网盘超级会员V10的分享 1.首先解压好我给大家准备好的压缩包 2.打开解压好的文件夹里面的N_m3u8D文件夹,然…

如何理解和使用 this 关键字

this 关键字是许多编程语言中的一个核心概念,在面向对象编程(OOP)中尤为重要。在JavaScript、Java、C、C#等语言中,this 扮演着至关重要的角色。理解 this 的意义和用法,对于编写清晰、有效的代码至关重要。 什么是th…

字符串操作:写一个方法,实现字符串的反转,如:输入abc,输出cba

import java.util.Scanner; public class Test_A15 {public static void main(String[] args){String strA"";System.out.println("请输入一串字符串:");Scanner scannernew Scanner(System.in);strAscanner.next();Test_A15 T15new Test_A15();String re…

JAVA系列:NIO

NIO学习 一、前言 先来看一下NIO的工作流程图: NIO三大核心组件,channel(通道)、Buffer(缓冲区)、selector(选择器)。NIO利用的是多路复用模型,一个线程处理多个IO的读…

新时代病毒侵染了全世界!自律的自我认知,无聊才是根本——早读(逆天打工人爬取热门微信文章解读)

刷视频的动作是什么? 引言Python 代码第一篇 【夜读】为什么要自律?这是我听过最走心的答案第二篇结尾 引言 文字阅读数量确实在缩减 虽然我觉得未来还是有一席之地 当下的人 普罗大众吧 你让他们看书 看文字 显然是不现实的 他们比起看书看文字 更喜欢…

光缆监测主要设备是什么?

光功率计(OPM)稳定光源: 当被测光照射到光检测器上即产生相应的光电流,主机部分的作用是把检测到的电信号放大和模/数变换后进入CPU,经CPU处理后的数字信号最后以光功率或相应的功率电平形式显示出来。 光时域反射仪(…

GaN功率电子器件中体缺陷相关机制的建模仿真研究

在电力电子器件的外延生长和器件制备过程中,缺陷是不可避免的,大量的缺陷在一定程度上会牺牲器件的击穿电压、导通电阻等性能,同时影响器件的可靠性。近期,河北工业大学和广东工业大学联合开发了缺陷相关的仿真模型,深…

解决Springboot服务启动报错:“Reason: Failed to determine suitable jdbc url”

1、错误详情 *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine sui…

在全志H616核桃派开发板上配置SSH远程终端方法详解

熟悉指令用户可以对已经联网的核桃派进行局域网SSH远程终端控制,方便使用自己的PC对核桃派远程进行各种指令操作。 普通用户(默认) 账号:pi ; 密码:pi管理员账户 账号:root ; 密码:root 在这之…

Java基础-注解

注解本质是继承了Annotation接口的一个接口 首先,我们通过键值对的形式可以为注解属性赋值,像这样:Hello(value “hello”)。 接着,你用注解修饰某个元素,编译器将在编译期扫描每个类或者方…

1794 jsp蛋糕店管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 蛋糕店管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助采用了java设计,系统具有完整的源代码和数据库,系统采用web模式,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&…

swagger-ui页面接口的入参出参与代码实体类不一致有差异、swagger请求实体与预期定义不符、swagger参数与实体中参数不一致原因分析

文章目录 一、问题背景二、问题原因及解决方法 一、问题背景 项目集成swagger之后,发现有个接口的请求跟接口对应不上,把其他接口的请求参数放到当前这个请求上了。 如下图:test1接口的请求参数是其他请求的,并不是test1接口的 …

【Qt】[001]-从入门到成神-前言

一、Qt是什么?[概念] Qt是一个跨平台的应用程序开发框架,简单来说,它是一套工具和库,帮助软件开发者编写可以在多种操作系统上运行的图形用户界面(GUI)应用程序。比如,你用Qt写了一个软件&#…

ChatGPT:轻松搞定论文润色,让语言更流畅

GPT从3.5一路升级到4.0,不仅在国外火得一塌糊涂,还悄悄地在我们论文润色的世界里掀起了一场革命。 首先,得承认,虽然这玩意儿是“洋货”,用起来可能得费点脑筋——注册个账号啦,买个会员啦之类的。但它对我…

充电宝哪家好用?西圣、倍思、小米充电宝哪个好?热门品牌实测

在如今充电宝市场中,充电宝已经深受大家的喜爱了,但是在市面上众多充电宝中,西圣、倍思、小米充电宝无疑是其中的佼佼者,那么,面对三款热门品牌的充电宝我们该如何选择呢?作为一个有着选购充电宝的老司机来…

赛氪网与武汉外语外事职业学院签署校企合作,共创职业教育新篇章

5月23日下午14:00,武汉外语外事职业学院在藏龙岛校区食堂三楼报告厅隆重举行了2024年职业教育活动周优秀校外实习基地表彰仪式。本次活动旨在表彰在职业教育领域作出突出贡献的校外实习基地,同时加强校企合作,共同推动职业教育的发展。作为重…