重生之我要精通JAVA--第三周笔记

2024-05-06 17:52

本文主要是介绍重生之我要精通JAVA--第三周笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 继承
      • 构造方法访问特点
      • 为什么
      • 如何调用父类构造方法
    • this、super使用总结
    • 多态
      • 表现形式
      • 多态的前提
      • 调用
      • 多态的优势
      • 多态的弊端
      • 使用其他类的规则
      • final
      • 常量
    • 权限修饰符
      • 权限修饰符的分类
      • 权限修饰符的使用规则
    • 代码块
      • 静态代码块
    • 抽象方法和抽象类
      • 定义格式
      • 注意事项

继承

构造方法访问特点

  • 父类中的构造方法不会被子类继承
  • 子类中所有的构造方法默认先访问父类中的无参构造,再执行自己

为什么

  • 子类在初始化的时候,有可能会使用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类的数据
  • 子类初始化前,一定要调用父类构造方法先完成父类数据空间的初始化

如何调用父类构造方法

  • 子类构造方法的第一行语句默认都是:super(),不写也存在,且必须在第一行
  • 如果想调用父类有参构造,必须手动写super进行调用

this、super使用总结

  • this:理解为一个变量,表示当前方法调用者的地址;
  • super:代表父类存储空间
关键字访问成员变量访问成员方法访问构造方法
thisthis.成员变量
访问本类成员变量
this.成员方法(…)
访问本类成员方法
this(…)
访问本类构造方法
supersuper.成员变量
访问父类成员变量
super.成员方法(…)
访问父类成员方法
super(…)
访问父类构造方法

多态

多态就是同类的对象,表现出的不同形态。

表现形式

父类对象 对象名称 = 子类对象

多态的前提

  • 有继承关系
  • 有父类引用指向子类对象
  • 有方法重写

调用

  • 调用成员变量:编译看左边,运行也看左边

  • 编译看左边:javac编译代码的时候,会看左边的父类中有没有这个变量,如果有,编译成功,反之编译失败

  • 运行也看左边:java运行代码的时候,实际获取的就是左边父类成员变量的值

  • 调用成员方法:编译看左边,运行看右边

  • 运行看左边:javac编译代码的时候,会看左边的父类中有没有这个方法,如果有,编译成功,反之编译失败

  • 运行看右边:java运行代码的时候,实际上运行的是子类中的方法

多态的优势

  • 在多态形式下,右边的对象可以实现解耦合,便于扩展和维护。

    Person p = new Student ();
    p.work();//业务逻辑发生改变时,后续代码无需修改
    
  • 定义方法的时候,使用父类型作为参数,可以接收所有子类对象,体现多态的扩展性与便利。

多态的弊端

  • 不能使用子类特有功能

  • 如果想使用就得强转:

    判断a是不是某类型类型:

    对象 instanceof 类型

    新特性:

    a instanceof Dog d----------判断a是否为Dog类型,如果是,则强转为Dog类型,变量名为d,如果不是则不强转,结果是false

包就是文件及。用来管理各种不同功能的Java类,方便后期代码维护。

  • 包名的规则:公司域名反写+包的作用,需要全部英文小写,见名知意。

使用其他类:

xxx.xxx.xxx.Student s = new xxx.xxx.xxx.Student();

使用其他类的规则

  • 使用同一个包中的类的时候,不需要导包
  • 使用java.lang包中的类是,不需要导包
  • 其他情况都需要导包
  • 如果同时使用两个包中的同类名,需要用全类名

final

方法:表明该方法是最终方法,不能重写

:表明该类是最终类,不能被继承

变量:叫做常量,只能被赋值一次

常量

实际开发中,常量一般作为系统的信息配置,方便维护,提高可读性。

常量的命名规范:

  • 单个单词:全部大写
  • 多个单词:全部大写,单词之间用下划线隔开

细节: final修饰的变量是基本类型:那么变量存储的数据值不能发生改变。

​ final修饰的变量是引用类型:那么变量存储的地址值不能发生改变,对象内部的可以改变。

权限修饰符

权限修饰符的分类

​ 有四种作用范围由小到大(private<空着不写<protected<public)

修饰符同一个类中同一个包中其他类不同包下的子类不同包下的无关类
private
空着不写
protected
public

权限修饰符的使用规则

实际开发中,一般只用private和public

  • 成员变量私有
  • 方法公开

特例:如果方法中的代码是抽取其他方法中共性代码,这个方法一般也私有

代码块

  • 局部代码块
  • 构造代码块
  • 静态代码块

静态代码块

格式:static{}

特点:需要通过static关键词修饰,随着类的加载而加载,并且自动触发,只执行一次

抽象方法和抽象类

  1. 抽象方法:将共性的行为(方法)抽取到父类之后,由于每一个子类执行的内容是不一样的,所以,在父类中不能确定具体的方法体。该方法就可以定义为抽象方法。
  2. 抽象类:如果一个类中存存在抽象方法,那么该类就必须声明为抽象类。

定义格式

  • 抽象方法:public abstract 返回值类型 方法名(参数列表)
  • 抽象类:public abstract class 类名{}

注意事项

  • 抽象类不能实例化

  • 抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类

  • 可以有构造方法

  • 抽象类的子类

    • 要么重写抽象类中的所有抽象方法

    • 要么是抽象类

已经到底啦!!

这篇关于重生之我要精通JAVA--第三周笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/964967

相关文章

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Java访问修饰符public、private、protected及默认访问权限详解

《Java访问修饰符public、private、protected及默认访问权限详解》:本文主要介绍Java访问修饰符public、private、protected及默认访问权限的相关资料,每... 目录前言1. public 访问修饰符特点:示例:适用场景:2. private 访问修饰符特点:示例:

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.