Java知识点小总结(一)

呕心搬运!Java 核心技术卷一知识点最全总结贴 呕心搬运!Java 核心技术卷一知识点最全总结贴 千呼万唤始出来,本来觉得看书容易忘记,不如记一点笔记,于是从头开始把Java核心技术卷一慢慢的抄了一遍。也许抄的过于过分,修改的地方也不多,但是我觉得还是尽可能保持原味,除非是一些有触发的东西,可以稍微添上。 整个抄书的过程,没多久就想放弃了,太费时间了,而且前面还基本都是对知识点的手打(后面换成从ocr书上复制),怎么说,这也算是争一口气,给自己一个坚持学习下去的目标,很开心最后完成了,虽然给自己的完成时间是一个半月,最后多用了一个月,工作上的事虽然多,但 阅读详情
1、修饰符访问权限如下表所示:

修饰符类内部同一个类子类任何地方
private     √


default     √        √

protected     √        √    √
public     √        √    √     √
protected也可以给不在同一包中的子类访问

2、final:修饰的方法不允许子类覆盖但可以继承

修饰的类不能被继承 

修饰的引用类型不能再指向别的地方,但对象内容可以改变

不能用于修饰构造方法final成员变量表示你常量,只能被赋值一次,赋值后值不再修改

3、static:

(1)静态方法:无需本类的对象即可调用此方法

  只能调用其他的static方法

  只能访问static数据

  不能以任何方式引用this或super

(2)静态变量:声明为static的变量实质上就是全局变量

当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量, 

也就是说不管你new多少个类的对象,这个static变量永远只有一个   

(3)静态类:通常一个普通类不允许声明为静态的,只有一个内部类才可以。

           这时这个声明为静态的内部类可以直接作为一个普通类来使用,而不需实例一个外部类。

(4)static变量、方法或程序块是在类被装载的时候开始执行,而不是在对象创建时开始执行

4、同时被final和static修饰的类的属性变量只能在两种情况下初始化:

(1)在它被定义的时候   public static final int a=1;

(2)在类的静态块里初始化  public static final int a;static{a=1;}

5、抽象类:

(1)含有abstract修饰符的class即为抽象类

(2)抽象类不能被实例化,实例化的工作由它的子类完成

(3)含有抽象方法的类必须定义为抽象类

(4)抽象中的方法不必是抽象的

(5)抽象类中的抽象方法必须由子类来实现

(6)抽象类不能有抽象构造方法

(7)如果子类没有实现父类中所有的抽象方法那么子类也必须定义为abstract类型

(8)abstract不能和final并列修饰同一个类

(9)abstract不能和private、static、final或native并列修饰同一个方法

6、接口:

(1)接口是抽象类的一种特例

(2)接口中的所有方法都必须是抽象的

(3)接口中的方法默认为public abstract类型

(4)接口中的成员变量默认为public static final类型

(5)实现接口的非抽象类必须实现该接口的所有方法,抽象类不用

(6)不能用new实例化一个接口但可以声明一个接口变量

7、接口和抽象类的区别:

(1)抽象类可以有构造方法,接口中不能有构造方法

(2)抽象类中可以有普通成员变量,接口中没有

(3)抽象类可以包含非抽象的普通方法,接口中没有

(4)抽象类可以包含静态方法,接口没有

(5)抽象类中的静态成员变量的访问类型任意,接空中只能为public

(6)一个类可以实现多个接口,但只能继承一个抽象类

(7)抽象类是对类抽象,接口是对行为抽象

(8)抽象类跨域的是有相似特点的类,而接口却可以跨越不同的类

(9)接口更多的是在系统架构设计上发挥作用,主要用于定义模块之间的通信契约。而抽象类在代码实现方面发挥作用,可以实现代码的重用

8、String、StringBuffer、StringBuilder

(这篇文章讲的相当之详细了——>Java String, StringBuffer和StringBuilder实例)

String:

public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {
    /** The value is used for character storage. */
    private final char value[];
    ...
}

String 是final类,所以不可以继承String类

String实现了CharSequence接口

String使用final字符数组来保存字符串,所以String对象是不可变的

StringBuffer、StringBuilder:

public final class StringBuffer
    extends AbstractStringBuilder
    implements java.io.Serializable, CharSequence{...}
public final class StringBuilder
    extends AbstractStringBuilder
    implements java.io.Serializable, CharSequence{...}
abstract class AbstractStringBuilder implements Appendable, CharSequence {
    /**
     * The value is used for character storage.
     */
    char[] value;

    /**
     * The count is the number of characters used.
     */
    int count;
    ...
}
StringBuffer和StringBuilder都继承了AbstractStringBuilder类,AbstractStringBuilder实现了Appendable、CharSequence接口

AbstractStringBuilder通过字符数组来存储字符串,所以StringBuffer和StringBuilder是可变的

public synchronized int length() {
        return count;
    }

    public synchronized int capacity() {
        return value.length;
    }


    public synchronized void ensureCapacity(int minimumCapacity) {
        if (minimumCapacity > value.length) {
            expandCapacity(minimumCapacity);
        }
    }
...
StringBuffer对所有方法都加了同步锁,所以StringBuffer是线程安全的,StringBuilder没有加是非线程安全的

String实现了equals方法,StringBuffer和StringBuilder没有

String是不可变的,所以每次对String类型进行修改的时候都会创建一个新的对象,然后将指针指向新的对象

StringBuffer是对对象本身进行操作

如果要操作少量的数据,用String ;单线程操作大量数据,用StringBuilder ;多线程操作大量数据,用StringBuffer。

(参考资料:Java:String、StringBuffer和StringBuilder的区别、从源代码的角度聊聊java中StringBuffer、StringBuilder、String中的字符串拼接)

9、override

(1)重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变

(2)子类和父类在同一个包中,那么子类可以重写弗雷德所有方法,除了private和final方法

(3)覆盖方法所抛出的异常必须和被覆盖方法所抛出的异常一致,或者是其子类

(4)构造器不能被继承,所以不能被重写,但可以重载

10、overload

(1)重载表示一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(参数类型不同。参数顺序不同、参数个数不同)

(2)不能通过访问权限、返回类型、抛出的异常进行重载

(3)对于继承来说,如果某一方法在父类中访问权限是private,那么就不能在子类中对其进行重载,如果定义的话也只是定义了一个新方法,不会达到重载的效果

【WILEY】从Revision到Online:一次投稿的完整状态演进与关键节点实战解析 本文详细解析了从Revision到Online发表的完整投稿流程,包括修改稿准备、回复信撰写、状态跟踪等关键节点。特别针对Wiley期刊,提供了实用的操作技巧和常见问题解决方案,帮助作者高效完成论文修改与发表。 阅读详情

相关推荐

Shopee商品详情页反爬实战:手把手逆向x-sap-Ri和x-sap-Sec参数(附完整调试过程)

本文详细解析了Shopee商品详情页反爬机制中的x-sap-Ri和x-sap-Sec参数逆向过程。通过JS逆向技术,从环境数据采集到多层哈希运算,完整拆解了这两个关键参数的生成逻辑,并提供了实战技巧和Node.js实现方案,帮助开发者应对Shopee的动态加密挑战。

weixin_33701251的博客 1598

Python语言程序设计(5)——字符串

字符串 1 字符串的定义 字符串是一种用来表示文本的数据类型,它是由符号或者数值组成的一个连续序列,Python中的字符串是不可变的,字符串一旦创建便不可修改。 Python支持使用单引号、双引号和三引号定义字符串,其中单引号和双引号通常用于定义单行字符串,三引号通常用于定义多行字符串。 1.定义单行字符串 single_symbol = 'hello Python' #使用单引号定义字符串 double symbol = "hello Python" #使用双引号定义字符串 2.定义多行字符串 使用三

sem00000的博客 2114

一文了解向量数据库在RAG中扮演的角色

向量数据库:AI新纪元的基石。探索如何通过这一创新技术优化RAG,提高语言模型的信息处理能力

2401_82452722的博客 2452

提高工作效率之Python字符串操作【给常用Python的小伙伴整理的博文】

今天带大家温习的是Python中最基础同时也是最常用的知识点——字符串操作。 会使用Python的小伙伴通常对下述的内容都比较的熟悉了,不过想要全都懂,可能还需要像我一样专门花时间去整理,或者专门去收藏他人整理好的博文(比如这篇),那么今天,就带大家回顾一下!

w0714的博客 2万+

WSL2 Ubuntu 22.04安装NVIDIA驱动避坑指南:从驱动版本选择到CUDA环境验证

本文详细介绍了在WSL2 Ubuntu 22.04中安装NVIDIA驱动和配置CUDA环境的完整流程,包括驱动版本选择、环境变量设置以及常见问题解决方案。通过本指南,用户可以避免常见的安装陷阱,确保GPU加速环境正确配置,适用于深度学习开发和CUDA编程。

weixin_28419039的博客 464

Delphi中使用FireDAC与uniDAC高效连接PostgreSQL的实战指南

本文为Delphi开发者提供了使用FireDAC与uniDAC组件高效连接PostgreSQL数据库的实战指南。文章详细对比了两款组件的选择策略,重点解析了驱动依赖(libpq.dll)的配置、连接参数设置、常见错误排查及性能优化技巧,旨在帮助开发者快速构建稳定可靠的数据库连接。

tomato的博客 807

字符串中占位符使用

一、使用 % 的形式 常用占位符:1、%d     整数占位符 &gt;&gt;&gt; '我是第%d名'%1 '我是第1名' &gt;&gt;&gt; '我是班级第%d名,年级%d名'%(1,5) '我是班级第1名,年级5名' 2、%f     浮点数占位符 &gt;&gt;&gt; '我身高%f米'%1.5 '我身高1.500000米' &gt;&gt;&gt; '我身高%....

liu_liuqiu的博客 1万+

ERA5数据批量下载

ERA5再分析数据的IDM接管下载

qq_38734327的博客 3036

python字符串格式化 %操作符 {}操作符---总结

Python字符串格式化 (%占位操作符) 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出。Python中内置有对字符串进行格式化的操作 %。 模板 格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式。Python用一个tuple将多个值传递给模板,每个值对应一个格式符...

weixin_30564901的博客 2947

【UVM实战】第七章:UVM中的寄存器模型(1)寄存器模型简介

寄存器模型简介~

悟已往之不谏 知来者之可追 2071

168、OIS光学防抖系统设计:陀螺仪标定、音圈马达驱动与滚珠式/悬丝式结构选型

本文总结了OIS光学防抖系统设计中的关键问题与解决方案。作者通过实际案例指出,陀螺仪标定需重视零偏、灵敏度和温度补偿问题,音圈马达驱动需采用电流环控制并优化相位补偿。在机械结构选型方面,滚珠式适合大角度补偿但存在回差问题,悬丝式精度高但受重力影响,需根据应用场景选择。系统联调建议从开环到闭环逐步验证,注意陀螺仪与驱动频率匹配。最后给出5条经验建议:关注陀螺仪信噪比而非分辨率、预留标定余量、重视机械结构公差、配备专业调试工具、协调OIS与电子防抖的分工配合。文章强调OIS调试需针对不同模组特性进行反复测试与标

zzfmlxs的博客 46

Java小知识点总结

1 Java是单继承还是多继承?使用接口的目的在哪里? Java中只支持类的继承,接口之间的继承同样需要extends关键字,但是接口之间支持多集成的 用impleme关键字, 例如: interface ip1{ } interface ip2{ } public interface p extends ip1,ip2{ } 2 java 中继承多接口和实现多接口的

lexajeQath的博客 729

应用商店评论分析实战:Python逆向工程破解Google Play加密接口与NLP建模

在移动互联网时代,应用商店中的用户评论成为了开发者优化应用、提升用户体验的重要依据。然而,Google Play等应用商店对评论数据进行了加密处理,直接爬取难度较大。本文将介绍如何使用Python逆向工程破解Google Play的加密接口,实现对应用商店评论的实时采集,并结合NLP(自然语言处理)技术进行情感分析和主题建模,为开发者提供有价值的数据支持。

u014481728的博客 1349

java基础知识点总结(一)

打算重新看看java基础,把开始学的时候模糊的概念理清楚,不定时更新~~~ 一、环境篇 1. JDK和JRE 三个概念: JDK: java development kit(java开发工具) JRE: java runtime environment(java运行时环境) JVM: java Virtual Machine(java虚拟机) a. JDK: JDK就是我们开发人员使用的开发工具,它里面包含了JRE、JVM和基础类库。所以编程的话只需要安装JDK,配置环境变量,path路径就可以了。 b.

nann-viiv 的博客 7951

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Java知识点一

hello,大家好!我们今天开启Java语言的学习之路,与C语言的学习内容有些许异同,今天我们来简单了解一下Java的基础知识。包括:整数型:byte(1)、short(2)、int(4)、long(8)浮点型:float、double字符型:char布尔类型:boolean其中包装类,可以认为这是一个Int类型的plus版本,没有有/无符号这一说。长整型变量的初值后要加大/小写的L,long的包装类型是Long。计算机内存中的单位有:bit、byte、kb、mb、gb、tb、pb;

2301_77529159的博客 1779

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

JAVA重要知识点梳理(一)

1、Struts2和SpringMVC的区别(1)设计理念:前者为有状态的Action(均为多例),Action对象属性字段承载请求、响应,后者一般为无状态的Controller,请求直接封装到方法的参数中;(2)集中访问点不同:都属于前端控制器,用于接收请求、处理请求和生成响应,但集中访问点不同,前者为Filter,后者为Servlet;(3)请求处理粒度不同:前者一个Action对应一个请求上...

wzk646795873的博客 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Java易错知识点总结(一)

Java易错知识点总结(一) 目录 Java易错知识点总结 1.在一个源文件中编写多个类 2.标识符 3.简单数据类型 4.数据类型级别 5. 使用Scanner类输入数据 1.读取字符串 2.读取int型数据 3.读取char型数据 4.区分理解hasNext()和hasNextLine() 6.数组相关知识 1.声明数组和为数组分配元素 2.length的使用 3.遍历数组 1.在一个源文件中编写多个类 Java允许在一个Java源文件中编写多个类,但其中...

m0_56636447的博客 1215

java基础知识点整理一

java基础知识点整理一 引言 ''' 突然发觉任何一门语言的基础知识部分,都比较杂一些. 如果个人经过梳理之后,知识体系系统化,可以让基础更加牢靠一些。 但是还是会有一些遗忘。 所以,我想把一些比较重要但是容易遗忘的知识,写成笔记, 到时候直接Ctrl+F 查找 time:2020年12月29日18:40:45 V1 #2021年1月2日13:34:43 V2 ''' # ★ 的数量代表重要程序 java的跨平台原理 平台:指的是操作系统。 例如主流平台:

影修 1180

Java Web学习的一些小知识点总结(一)

Java Web学习的一些小知识点总结(一) 1、getParameter问题 servlet(controller)中的request.getParameter(“key1”) 此处的key1可来自于jsp页面的name属性值,key1是key-value中的key 其String s=request.getParameter(“key1”)得到的是其value,(即s为key-valu...

skye_error的博客 493

Java面试知识点总结①——Java基础

大纲 [x] 一、Java基础(语言、集合框架、OOP、设计模式等) [x] 二、Java高级(JavaEE、框架、服务器、工具等) [x] 三、多线程和并发 [x] 四、Java虚拟机 [x] 五、数据库(Sql、MySQL、Redis等) [x] 六、算法与数据结构 [x] 七、计算机网络 [x] 八、操作系统(OS基础、Linux等) [x] 九、其他 一、Java基础(语言、集合...

dooduoaixuexi的博客 1496

JAVA基础知识点总结一

一.基础知识1、JVM、JRE和JDK的区别JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。java语言是跨平台,jvm不是跨平台的。JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类库。 JDK(Java Development Kit):java的开发工具,包括jre+开发工具2、环境...

peimi199366的博客 429

Java——琐碎知识点一

java学习中的琐碎知识点,快来看看有没有你还没了解的地方啊~

2401_88065518的博客 695

一阶段java知识点汇总

1 8大基本数据类型 ? java基本数据类型有8种,其他是引用数据类型: (1)基本数据类型:byte、short、int、long、float、double、char、boolean (2)引用数据类型: 数组、类、接口。 级别从低到高为:byte,char,short–>int–>float–>long–>double 自动类型转换:从低级别到高级别,系统自动转的; 强制类型转换:把一个高级别的数赋给一个别该数的级别低的变量(注意变量的大小,防止数据溢出); 自动转换规则 强制

ououimage的博客 265

JAVA知识点总结一

 1 Java中一个char类型可以存放一个汉字吗?为什么?  可以。因为JVM的最小单位是两个字节,而java中以unicode存放汉字了,unicode占用了两个字节。2 Java中实现多线程的方法有几种?怎样实现同步?   实现多线程的方法有两种:1 扩展Thread类;2 实现Runnable接口   实现方法同步有两种:1 在方法前面加sychronized   

蓝法典的专栏 2231
上一篇: 字符串调整
下一篇: 各种排序算法的原理、实现及其时间复杂度
yang_9613
博客等级 码龄10年 1粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值