Java语言知识大盘点(期末复习)一

news2024/10/8 23:00:25

🌹作者:云小逸
📝个人主页:云小逸的主页
📝Github:云小逸的Github
🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前,其次就是现在!学会自己和解,与过去和解,努力爱自己。==希望春天来之前,我们一起面朝大海,春暖花开!==🤟
👏专栏:C++👏 👏专栏:Java语言👏
👏专栏:C语言初阶👏👏专栏:数据结构👏

文章目录

  • 前言
  • 1.static静态关键字
    • a.static是什么?
    • b.static修饰成员变量
      • (1)静态成员变量:
      • (2)实例成员变量:
      • (3)两变量的使用场景:
      • (4)成员变量的内存原理:
    • c.static修饰成员方法:
    • d.注意事项:
    • e.static应用知识:工具类
      • (1)是什么?
      • (2)有什么要求?
    • f.static应用知识:代码类:
      • (1)静态代码块:
      • (2)构造代码块(了解,见的少):
    • g.static应用知识:单例设计模式
      • (1)什么是设计模式(Design pattern)
      • (2)单例模式
      • (3)饿汉单例模式
        • 设计步骤:
      • (4)懒汉单例
        • 设计步骤:
  • 2.final关键字:
    • a.final的作用
      • 修饰类:表明该类是最终类,不能被继承。
      • 修饰方法:表明该方法是最终方法,不能被重写。
      • 修饰变量:表示该变量第一次赋值后,不能再次被赋值(有且仅能被赋值一次)。
    • b.final修饰变量的注意
      • final修饰的变量是基本类型:变量存储的数据值不能发生改变。
      • final修饰的变量是引用类型:那么变量存储的地址值不能发生改变,但是地址指向的对象内容是可以发生变化的。
  • 3.常量:
    • 命名规范:
    • 常量做信息配置的原理、优势
  • 4.抽象类
    • a.概念说明:
      • 格式:
      • 注意事项
    • b.抽象的使用场景
    • c.抽象类基本作用
      • 继承抽象类有哪些要注意?
    • d.特征和注意事项
    • final和abstract是什么关系
  • 最后
    • **愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚==菜鸟==逐渐成为==大佬==。加油,为自己点赞!** ​ 注:本篇文章是本人在b站学习黑马程序员的学习笔记,无任何商用用途,仅为自己和读者的Java语言学习的学习资料。 ​


前言

——————————————————————————————
首先先摘抄上罗老师的几句话:献给坚持创作的我和点开这篇文章希望进步的你:
1、你没必要和别人杠,由于知识的贫穷,他只活在自己的世界里,只认自己的那个想法,你很难改变他

2、一个知识越贫乏的人,越是拥有一种莫名奇怪的勇气和一种莫名奇怪的自豪感。因为知识越贫乏,他所相信的东西就越绝对,因为他根本没有听过与此相对立的观点。夜郎自大是无知者,和好辩者的天性。

3、你太狂妄了,你以前居然把很多很多命运对你的帮助,命运对你的加持,看成是你所配的,于是你就仔细去回想,去回想你这一生中所遇到的很多经历,很多重要时刻,你才恍然大悟,原来你就是一个很渺小的人,离开了他人的帮助,他人的祝福,命运的加持,你什么都不是……

—————————————————————————————————

这篇文章开始我们就要进入了Java语言的学习了,加油!!!
本Java专栏不会把Java的所有的知识点全部讲到,比如与C语言类似的语法本专栏就不会再赘述,本专栏如有讲的不够好的地方,希望各位读者大大多多包涵。

1.static静态关键字

a.static是什么?

static是静态的意思,可以用来修饰成员变量、成员方法。

b.static修饰成员变量

static修饰成员变量之后称为静态成员变量(类变量)
由此我们可以得出成员变量分为两类

(1)静态成员变量:

有static修饰,属于类,只会加载一次,内存中只有一份
访问它有两种格式:

类名.静态成员变量(推荐)
对象.静态成员变量(不推荐)

(2)实例成员变量:

无static修饰,属于对象,访问格式只有一种:

对象.实例成员变量。

(3)两变量的使用场景:

静态成员变量:表示在线人数等需要被类的所有对象共享的信息时。
实例成员变量:属于每个对象,且每个对象的该信息不同时(如:name,age,money…)

(4)成员变量的内存原理:

静态变量 是属于类的,存储在方法区,随着的类加载而加载,
实例成员变量 属于对象,存储在 堆中,随着对象的创建而创建

c.static修饰成员方法:

static修饰成员方法与其修饰成员变量极其类似:

静态成员方法(有static修饰,归属于类),建议用类名访问,也可以用对象访问。
实例成员方法(无static修饰,归属于对象),只能用对象触发访问。

d.注意事项:

静态方法只能访问静态的成员,不可以直接访问实例成员。
实例方法可以访问静态的成员,也可以访问实例成员。
静态方法中是不可以出现this关键字的。

e.static应用知识:工具类

(1)是什么?

内部都是一些静态方法,每个方法完成一个功能
一次编写,处处可用,提高代码的重用性。

(2)有什么要求?

由于工具里面都是静态方法,直接用类名即可访问,因此,工具类无需创建对象,建议将工具类的构造器进行私有。

f.static应用知识:代码类:

代码块是类的5大成分之一(成员变量、构造器,方法,代码块,内部类),定义在类中方法外。
在Java类下,使用 { } 括起来的代码被称为代码块 。

(1)静态代码块:

格式:static{}
特点:需要通过static关键字修饰,随着类的加载而加载,并且自动触发、只执行一次
使用场景:在类加载的时候做一些静态数据初始化的操作,以便后续使用

(2)构造代码块(了解,见的少):

格式:{}
特点:每次创建对象,调用构造器执行时,都会执行该代码块中的代码,并且在构造器执行前执行
使用场景:初始化实例资源。

g.static应用知识:单例设计模式

(1)什么是设计模式(Design pattern)

开发中经常遇到一些问题,一个问题通常有n种解法的,但其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,称之为设计模式
设计模式有20多种,对应20多种软件开发中会遇到的问题。

(2)单例模式

单例模式:
可以保证系统中,应用该模式的这个类永远只有一个实例,即一个类永远只能创建一个对象。

(3)饿汉单例模式

用类获取对象的时候,对象已经提前为你创建好了。

设计步骤:

定义一个类,把构造器私有。
定义一个静态变量存储一个对象。

   /** a、定义一个单例类 */
  public class SingleInstance {
 /** c.定义一个静态变量存储一个对象即可 :属于类,与类一起加载一次 */
public static SingleInstance instance = new SingleInstance();

        /** b.单例必须私有构造器*/
        private SingleInstance() {             
            System.out.println("创建了一个对象");
         }
    }

在这里插入图片描述

(4)懒汉单例

在真正需要该对象的时候,才去创建一个对象(延迟加载对象)。

设计步骤:

1.定义一个类,把构造器私有。
2.定义一个静态变量存储一个对象。
3.提供一个返回单例对象的方法

/**
   懒汉单例
 */
public class SingleInstance2 {

    /**
      2、定义一个静态的成员变量负责存储一个对象。
         只加载一次,只有一份。
       注意:最好私有化,这样可以避免给别人挖坑!
     */
    private static SingleInstance2 instance;

    /**
      3、提供一个方法,对外返回单例对象。
     */
    public static SingleInstance2 getInstance() {
        if(instance == null){
            // 第一次来拿对象 :此时需要创建对象。
            instance = new SingleInstance2();
        }
        return instance;
    }


    /**
       1、私有化构造器
     */
    private SingleInstance2(){
    }
}

在这里插入图片描述

2.final关键字:

a.final的作用

final 关键字是最终的意思,可以修饰(类、方法、变量)

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

修饰方法:表明该方法是最终方法,不能被重写。

修饰变量:表示该变量第一次赋值后,不能再次被赋值(有且仅能被赋值一次)。

b.final修饰变量的注意

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

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

3.常量:

常量是使用了public static final修饰的成员变量,必须有初始化值,而且执行的过程中其值不能被改变。

命名规范:

英文单词全部大写,多个单词下划线连接起来。

    public class Constant {
        public static final String LOGIN_NAME = "admin";
        public static final String PASS_WORD = "123456";
    }

在这里插入图片描述

常量做信息配置的原理、优势

1.在编译阶段会进行“宏替换”:把使用常量的地方全部替换成真实的字面量。
2.维护系统容易,可读性更好。

4.抽象类

a.概念说明:

1.在Java中abstract是抽象的意思,可以修饰类、成员方法。
2.abstract修饰类,这个类就是抽象类;修饰方法,这个方法就是抽象方法

格式:

   修饰符 abstract class 类名{
        修饰符 abstract 返回值类型 方法名称(形参列表)public abstract class Animal {
        public abstract void run();
    }

注意事项

抽象方法只有方法签名,不能声明方法体。
一个类中如果定义了抽象方法,这个类必须声明成抽象类,否则报错。

b.抽象的使用场景

抽象类可以理解成不完整的设计图,一般作为父类,让子类来继承。
当父类知道子类一定要完成某些行为,但是每个子类该行为的实现又不同,于是该父类就把该行为定义成抽象方法的形式,具体实现交给子类去完成。此时这个类就可以声明成抽象类。

c.抽象类基本作用

作为父类,用来被继承的。

继承抽象类有哪些要注意?

一个类如果继承了抽象类,那么这个类必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类。

d.特征和注意事项

1.类有的成员(成员变量、方法、构造器)抽象类都具备
2.抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
3.一个类继承了抽象类必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类。
4.不能用abstract修饰变量、代码块、构造器。
最重要的特征:得到了抽象方法,失去了创建对象的能力(有得有失

final和abstract是什么关系

互斥关系
abstract定义的抽象类作为模板让子类继承,final定义的类不能被继承。
抽象方法定义通用功能让子类重写,final定义的方法子类不能重写。

最后

十分感谢你可以耐着性子把它读完和我可以坚持写到这里,送几句话,对你,也对我:

1.你能真正影响的人,一定是你愿意在TA身上投入大量的时间,跟你有真正接触的人。

2人生啊,有很多的挫折,人生也有很多的苦楚,但是你自己,要瞧得起你自己。你最重要是做你觉得正确的事情,最重要的是,多年以后的你能够看得起现在的你,我们每个人都是顶天立地的人。

3.人生最大的痛苦就是你知道什么是对的,但却永远做出错误的选择,知道和做到这个巨大的鸿沟,你永远无法跨越。

最后如果觉得我写的还不错,请不要忘记点赞✌,收藏✌,加关注✌哦(。・ω・。)

愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚菜鸟逐渐成为大佬。加油,为自己点赞!

注:本篇文章是本人在b站学习黑马程序员的学习笔记,无任何商用用途,仅为自己和读者的Java语言学习的学习资料。

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

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

相关文章

卡方检验简介

Chi square test(卡方检验)是用于评价两类变量之间是否存在相关性的统计检验方法。 医疗研究会产生大量不同类型的数据,最容易识别的是定量的数据。例如,直腿抬高 (SLR) 的受试者能够将腿抬高大于 0 度,这让我们可以计…

[附源码]Python计算机毕业设计JAVA疫情社区管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

大黄酸偶联鸡卵白蛋白 rhein-OVA,BFNB/MEB/MEA/BFNH-OVA

产品名称:大黄酸偶联鸡卵白蛋白 英文名称: rhein-OVA 用途:科研 状态:固体/粉末/溶液 产品规格:1g/5g/10g 保存:冷藏 储藏条件:-20℃ 储存时间:1年 大黄酸是一种有机化合物&#xf…

华为机试 - 堆栈中的剩余数字

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 向一个空栈中依次存入正整数&#xff0c;假设入栈元素 n(1<n<2^31-1)按顺序依次为 nx…n4、 n3、n2、 n1, 每当元素入栈时&#xff0c;如果 n1n2…ny(y 的范围[2,x]&#xff0c; 1<x<1000…

Windows平台上安装MySql 5.6 /8.0等的各种问题解决办法汇总

又是几个月过去了,我依然没有更新博客,深深的内疚缠绕着我,我对不起关注我的各位朋友们,从现在开始,我又回来了,正确能频繁的给大家带来新的知识点或小技巧。 📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创…

一本书读懂大数据 读书笔记(1)

集。谷歌的MapReduce和GoogleFileSystem(GFS)发布了之后&#xff0c;大数据的定义中除了 涵盖大量数据之外&#xff0c;还包括数据处理的速度。 网络搜索索引&#xff0c;批量处理和分析大量数据集&#xff0c;数据处理的速度 研究机构Gartner曾给大数据&#xff08;Big data…

照片一键换天空怎么弄?不妨试试这三个照片一键换天空方法

小伙伴们有没有遇到过这样的情况&#xff0c;好不容易遇到假期&#xff0c;约了朋友一起外出游玩&#xff0c;想要拍一些好看的照片&#xff0c;奈何天空阴沉沉的&#xff0c;导致拍出的照片不太理想&#xff0c;又不想放弃这个难得的假期&#xff0c;有没有什么方法可以换照片…

数据包取证分析笔记

地址扫描 地址扫描探测是指利用ARP、ICMP请求目标网段&#xff0c;如果目标网段没有过滤规则&#xff0c;则可以通过回应消息获取目标网段中存活机器的IP地址和MAC地址&#xff0c;进而掌握拓扑结构。 端口扫描 全连接扫描 TCP扫描 全连接扫描调用操作系统提供的connect()函…

Sentinel源码剖析之常用限流算法原理实现

1、限流算法简介 限流顾名思义&#xff0c;就是对请求或并发数进行限制&#xff1b;通过对一个时间窗口内的请求量进行限制来保障系统的正常运行。如果我们的服务资源有限、处理能力有限&#xff0c;就需要对调用我们服务的上游请求进行限制&#xff0c;以防止自身服务由于资源…

Profinet现场总线耦合器模拟量扩展IO

1.1概述 该系列 I/O 模块是分布式 I/O 系统中的必备组件&#xff0c;需要与合适的耦合器&#xff08;例如 BL200 系 列&#xff09;组合才能将现场设备或过程连接起来&#xff0c;实现对现场数据采集、监视和控制。 该系统需要使用电源模块提供 24VDC 系统电压和 24VDC 现场…

递归经典例题 --- 汉诺塔(图文详解)

目录 一、介绍 二、游戏规则 三、玩法简介 四、算法分析 五、代码解析 六、源码 七、递归过程详解 一、介绍 汉诺塔&#xff08;Tower of Hanoi&#xff09;&#xff0c;又称河内塔&#xff0c;是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱…

为什么面试官狂问八股文?我已经被三家公司问到哑口无言……

秋招刚过去&#xff0c;整体的感受是&#xff1a;面试难度和拿 offer 的难度比往年难多了&#xff0c;而且互联网还有较大的裁员风险&#xff0c;网上各种消息不断&#xff0c;有时候真是焦虑到不行。 大家还是要早做准备&#xff0c;多面试积累经验&#xff0c;有些人总想准备…

蓝牙技术|蓝牙标准将迈向 6GHz 频段,蓝牙技术迈向新台阶

蓝牙特别兴趣小组&#xff08;SIG&#xff09;今天宣布了新的规范开发项目&#xff0c;以定义蓝牙低功耗&#xff08;LE&#xff09;在额外的非授权中频段的操作&#xff0c;包括 6GHz 的频段。蓝牙技术是世界上部署最广泛的无线标准&#xff0c;每年有超过 50 亿件产品出货。其…

实验五可编程并行接口8255

目录一、实验目的二、实验内容三、实验报告四、运行结果一、实验目的 通过实验&#xff0c;掌握8255工作方式的设定及并行口输入输出的方法。 二、实验内容 电路连接&#xff1a; C口&#xff08;PC0~PC7&#xff09;⟺⟺逻辑电平开关&#xff08;K0~K7&#xff09; PC0⟺K0…

HTML5响应式网页设计——核心技能考核示例(用于2022年11月H5考核)

目录 基础Base.css引入(5分) Base.css编码 项目关键词注释&#xff1a;(5分) 网页框架&#xff1a;(30分) 框架编码&#xff1a; 文字填充&#xff1a;(20分) 文字编码&#xff1a; banner部分(10分) banner编码&#xff1a; 列表部分(20分) 列表编码&#xff1a; …

单商户商城系统功能拆解31—营销中心—幸运抽奖

单商户商城系统&#xff0c;也称为B2C自营电商模式单店商城系统。可以快速帮助个人、机构和企业搭建自己的私域交易线上商城。 单商户商城系统完美契合私域流量变现闭环交易使用。通常拥有丰富的营销玩法&#xff0c;例如拼团&#xff0c;秒杀&#xff0c;砍价&#xff0c;包邮…

替换NAS,这5个理由就够了

全球数据量爆炸性增长&#xff0c;企业对于大容量、易扩展、低成本的存储设备产生了强烈的需求&#xff0c;起初很多企业选择NAS&#xff0c;但随着企业使用场景多样性&#xff0c;对于存储设备上不再局限于存储&#xff0c;更强调安全和协作能力。 NAS相当于私有云部署的个人…

SAP AIF BTI750

第一章 AIF&#xff08;Application Interface Framework&#xff09;简介 AIF是什么&#xff1f;做什么用的&#xff1f; 功能简介 这样图很清楚的说明了AIF是什么&#xff0c;它是一个技术框架&#xff0c;它可以实施接口并且监控接口&#xff0c;以及解决消息处理期间出…

Java 垃圾收集器

堆内存示意图 垃圾收集算法 1.标记-清除算法 算法分为标记和清除两个阶段。标记出所有需要回收的对象&#xff0c;在标记完成后&#xff0c;统一回收。 缺点&#xff1a; 执行效率不稳定&#xff0c;若堆中有大量对象要被回收&#xff0c;这是必须进行大量标记和清除动作&a…

Push-Relabel算法相关阅读

Push-Relabel算法相关阅读1.Push-Relabel算法思想2.Push-Relabel算法原理示意图3.Push-Relabel算法具体实例4. 网络流各类算法简单总结与比较5. Push-Relabel 预流推进算法6. Push-Relabel算法(最大流)1.Push-Relabel算法思想 对于一个网络流图: 该算法直观可以这样理解&#…