java基础(知识点整理)

目录

1.main方法

2.修饰符

3.基本数据类型:

4.包装器类:

5.static关键字

6.finall关键字

7.String类型

8.八大排序

9.抽象类和接口的区别:

10.面向对象:封装 继承 多态

11.Object类

12.内部类:

13.lambda表达式:


Java基础知识点整理,个人复习笔记

1.main方法
public static void main(String[] args) {}

一个java程序有且仅有一个main方法启动,main方法是java程序启动的唯一入口。

2.修饰符
修饰类修饰方法修饰域
public都可以访问都可以访问
private私有类只能本类只能本类
protected子类可以继承、访问,同包下的类也可以访问子类可以继承、访问,同包下的类也可以访问
default只有同包下的才可以访问只有同包下的才可以访问

3.基本数据类型:

整数型:byte 8位 short 16位 int 32位 long 64位 (1字节bit=8位)

浮点型:float 32位 double 64位

字符型:char 16位

布尔型:boolean 8位

4.包装器类:

ByteShortIntegerLong (对应基本整数类型),FloatDouble (对应基本浮点类型)

Character (对应基本字符类型),Boolean (对应基本布尔类型)

自动拆装箱:编译器行为

装箱:valueof() 基本数据类型转包装器类对象

Integer i = Integer.valueOf(10);//装箱 举例

拆箱:intvalue() longvalue() 包装器类对象转换回基本数据类型

int i = Integer.valueOf(10).intValue();//拆箱 举例

5.static关键字

静态变量:属于类,而非实例,所有对象共享同一个静态变量。

静态方法:可以访问和修改静态变量,不能直接访问非静态变量和方法。

静态类:不需要创建实例即可通过类名被访问和使用,静态类只能访问静态成员,不能访问非静态成员。

静态代码块:在类加载时执行。(用于执行类级别的初始化操作)

6.finall关键字

修饰变量:变量不能被重新赋值 (finall基本数据类型的变量,其值在编译时就确定了,然后不可修改。final引用类型变量,引用地址不能改变,但引用对象的内容可以改变)

修饰方法:finall方法不能重写

修饰类:finall类不能被继承

7.String类型

不可变性:String对象一旦创建,其值就不能被修改。(任何看起来修改了 String 的操作,实际上都是创建了一个新的 String 对象。)

常用api

equals(Object obj) compareTo(String s) indexOf(int ch) indexOf(String str) substring(int begin) substring(int begin, int end) replace(char old, char new) replaceAll(String old, String new) concat(String str) trim() strip() toLowerCase() toUpperCase() length() charAt(int index) toCharArray()

构建字符串:StringBuffer:是线程安全的,因为各个方法都加synchronized锁了 ;StringBuilder

8.八大排序

教你了解八大排序(含代码注释示例java)-CSDN博客 在这篇博客。

9.抽象类和接口的区别:

接口更像是描述某种行为和能力,(interface关键字)

抽象类更像是描述本身特性,(abstract关键字)

抽象类是一个类,可以有类的东西,接口不可以

接口能实现的抽象类都能实现,单继承多实现

10.面向对象:封装 继承 多态

封装:

通过访问修饰符(private、protected、public)来控制类、属性和方法的可见性。目的是将对象的属性和行为进行隐藏,只对外暴露必要的接口,增加了数据的安全性和可靠性。

封装的好处:数据的隐藏、代码的重用、接口的标准化等。

继承:

允许一个类子类继承父类的属性和方法。

子类可以复用父类的代码,并且可以根据需要对父类的方法进行重写。

继承的好处:代码的重用、逻辑的复用、类型的多样性等。

多态:

多态允许同一个方法在不同对象上产生不同的行为。

多态的实现方式包括:方法重载和方法重写。

(重载是在同一个类中定义具有相同名称但参数不同的方法。重写是子类中定义与父类方法签名完全相同的方法。)

多态的好处:代码的灵活性、可扩展性、可维护性等。

11.Object类

    所有类的父类

基本方法:getClass() hashCode() toString() clone() notify() notifyAll() equals()

notify()方法可以对线程进行唤醒。notifyAll()方法会将所有在等待集合中的线程唤醒

equals和==的区别?

==和equals()方法的区别-CSDN博客

重写equals()为什么要重写hashcode()? ​​​​​​重写equals()方法为什么同时要重写hashcode()-CSDN博客

12.内部类:

1.普通内部类:定义在类的内部的类(可以直接访问外部类的所有成员,包括私有成员)

2.局部内部类:定义在类的方法内部的类(作用域仅限于定义它的代码块内,可以访问定义它的方法的所有局部变量但这些变量必须是final的)

3.静态内部类:定义在类的内部的、加static关键字的类(只能访问外部类的静态成员,不持有外部类的引用)

4.匿名内部类:定义在类的内部的、没有名字的类(作用域仅限于定义它的代码块)

13.lambda表达式:

形式:参数, 箭头(->) 以及一个表达式:

(String first, String second) -> first.length() - second.length()

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

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

相关文章

Lingo学习(三)——工厂合并、运算符、内置函数

一、工厂合并 (一) 工厂合并——生产二维矩阵 【引入】 sets: factory /1..6/ : a; plant /1..8/ : d; Cooperation(factory,p lant) : c, x; endsets 以上程序可…

【YOLOv8】 用YOLOv8实现数字式工业仪表智能读数(三)

上一篇圆形表盘指针式仪表的项目受到很多人的关注,咱们一鼓作气,把数字式工业仪表的智能读数也研究一下。本篇主要讲如何用YOLOV8实现数字式工业仪表的自动读数,并将读数结果进行输出,若需要完整数据集和源代码可以私信。 目录 &a…

网络安全应急响应信息收集利器-Eagle_Eye

项目介绍: 网络安全应急响应信息收集利器 - Eagle_Eye:您的终端信息自动收集专家 在网络安全的紧急时刻,每一秒都至关重要。Eagle_Eye,这款专为应急响应设计的工具,如同一位随时待命的侦察兵,能够在危机时刻迅速收集…

Xcode数据分析全解:洞察应用性能的密钥

标题:Xcode数据分析全解:洞察应用性能的密钥 在应用开发和优化的过程中,数据分析是提升用户体验和应用性能的关键步骤。Xcode作为苹果官方的集成开发环境,提供了多种工具和集成方案来支持应用的数据分析。本文将详细介绍如何在Xc…

嵌入式工程师从0开始,到底该学什么,怎么学?

作为嵌入式工程师,从零开始学习需要掌握以下几个关键方面。我收集归类了一份嵌入式学习包,对于新手而言简直不要太棒,里面包括了新手各个时期的学习方向编程教学、问题视频讲解、毕设800套和语言类教学,敲个22就可以免费获得。 基…

6. 年份计数

年份计数 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 20212021 是一个特殊的年份,它的千位和十位相同,个位比百位多一。请问从 10001000(含) 到 99999999&#…

yarn底层原理详解:(第33天)

系列文章目录 一、yarn总体架构 二、yarn核心组件及功能 三、yarn资源分配与调度 四、yarn提交和执行流程 五、yarn调度算法 六、yarn安全性与容错性 文章目录 系列文章目录前言一、总体架构二、核心组件及功能1. ResourceManager(RM)2. NodeManager&am…

day29--452. 用最少数量的箭引爆气球+435. 无重叠区间+763.划分字母区间

一、452. 用最少数量的箭引爆气球 题目链接:https://leetcode.cn/problems/minimum-number-of-arrows-to-burst-balloons/ 文章讲解:https://programmercarl.com/0452.%E7%94%A8%E6%9C%80%E5%B0%91%E6%95%B0%E9%87%8F%E7%9A%84%E7%AE%AD%E5%BC%95%E7%88…

整数的英语表示

题目链接 整数的英语表示 题目描述 注意点 0 < num < 2^31 - 1 解答思路 每三个数字形成一组&#xff08;高位不足的部分可以用0填充&#xff09;&#xff0c;使用StringBuilder拼接每组的数字和单位关键是三个数字的英语表示&#xff0c;包含个位、十位、百位&…

C++ | Leetcode C++题解之第229题多数元素II

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> majorityElement(vector<int>& nums) {int n nums.size();vector<int> ans;unordered_map<int, int> cnt;for (auto & v : nums) {cnt[v];}for (auto & v : cnt…

搭建ELK+Filebead+zookeeper+kafka实验

目录 1.部署 Filebeat 2. Logstash配置 3.浏览器kibana访问验证 主机名ip地址主要软件es01192.168.9.114ElasticSearches02192.168.9.115ElasticSearches03192.168.9.116ElasticSearch、Kibananginx01192.168.9.113nginx、LogstashNA192.168.9.111nginx、FilebeatNA192.168…

MongoDB 数据库引用

MongoDB 数据库引用 MongoDB 是一种流行的 NoSQL 数据库,以其灵活的数据模型和强大的查询能力而闻名。在 MongoDB 中,引用是一种常用的技术,用于在文档之间建立关系。本文将详细介绍 MongoDB 中的引用类型,包括手动引用和数据库引用,并探讨它们的使用场景和优缺点。 手动…

Unity3D 移动开发如何依据性能选择Shader

在Unity3D的移动开发中&#xff0c;Shader的选择对于游戏的性能有着至关重要的影响。Shader是一种由GPU执行的程序&#xff0c;用于定义物体的颜色、光照、材质等属性。正确的Shader选择和优化可以显著提高游戏的渲染效率和整体性能。本文将详细介绍如何在Unity3D移动开发中依据…

YOLOv8改进 | 注意力机制| 对小目标友好的BiFormer【CVPR2023】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效…

告别中央服务器:Syncthing实现点对点文件同步

介绍 Syncthing 是一款开源的文件同步工具&#xff0c;可让您在多个设备之间同步文件。 它适用于 Mac OS X、Windows、Linux、FreeBSD、Solaris、OpenBSD等系统。 可以通过浏览器访问来配置和监控该应用程序。 Syncthing 具有以下特点: 1、点对点同步 2、无需中央服务器 …

推三返一,七星创客模式激活消费与分享热情

七星创客模式&#xff0c;作为一种创新的消费与营销融合策略&#xff0c;正悄然改变着传统商业生态的运作方式。其核心精髓“先消费后返利”&#xff0c;不仅颠覆了消费者的传统购物体验&#xff0c;还巧妙地在促进消费与激励分享之间搭建起了一座桥梁。这一模式通过随机返佣的…

【CT】LeetCode手撕—8. 字符串转换整数 (atoi)

目录 题目1- 思路2- 实现⭐8. 字符串转换整数 (atoi)——题解思路 3- ACM 实现 题目 原题连接&#xff1a;8. 字符串转换整数 (atoi) 1- 思路 思路 x 的平方根 ——> 利用二分 ——> 二分的 check条件为 k^2 < x 2- 实现 ⭐8. 字符串转换整数 (atoi)——题解思路 …

C++ enum class转常量

当使用 enum class 时&#xff0c;它具有更强的类型安全性和隔离性&#xff0c;因此需要显式转换才能访问其底层整数值。 std::underlying_type_t 是一个类型别名&#xff0c;它返回枚举类型的底层类型。 to_underlying 函数提供了一种方便的方式来执行这种转换&#xff0c;特别…

LLM——langchain 与阿里 DashScop (通义千问大模型) 和 DashVector(向量数据库) 结合使用总结

文章目录 前言预览直接调用大模型使用 prompt template格式化输出使用上下文 RAG 增强检索 自定义 langchain AgentPromptTemplate 和 ChatPromptTemplate使用少量示例创建ChatPromptTemplate 前言 langchain 是一个面向大模型开发的框架&#xff0c;其中封装了很多核心组件&a…

Java数据结构-链表与LinkedList

链表 链表的概念 链表是一种物理存储结构上非连续的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的引用链接次序实现的。 通俗来说&#xff0c;相比较于顺序表&#xff08;物理上连续&#xff0c;逻辑上也连续&#xff09;&#xff0c;链表物理上不一定连续。 链表是…