java学习记录
java学习记录
StudyWinter
持续学习
展开
-
【java】常用类
1、基本类型对应的包装类1.1包装类概述基本类型的包装类主要提供了更多的实用操作,这样更容易处理基本类型。所有的包装类都是 final 的,所以不能创建其子类,包装类都是不可变对象。基本类型 包装类 byte Byte short Short char Character int Integer long Long float Float double Double boolean Boo...原创 2020-12-08 22:23:45 · 91 阅读 · 0 评论 -
【java】String
1、String 类是不可变类,也就是说 String 对象声明后,将不可修改 。public class StringTest01 { public static void main(String[] args) { String s1 = "a"; String s2 = "b"; s1=s1 + s2; //ab //new String(“a”); S原创 2020-12-06 21:42:42 · 151 阅读 · 0 评论 -
【java】内部类
在一个类的内部定义的类,称为内部类内部类主要分类:➢实例内部类➢局部内部类➢静态内部类1、实例内部类➢创建实例内部类,外部类的实例必须已经创建;➢实例内部类会持有外部类的引用;➢实例内部不能定义 static 成员,只能定义实例成员。public class InnerClassTest01 { private int a; private int b; InnerClassTest01(int a, int b) { ...原创 2020-12-01 15:38:57 · 81 阅读 · 0 评论 -
【LeetCode刷题】1331. 数组序号转换
给你一个整数数组arr ,请你将数组中的每个元素替换为它们排序后的序号。序号代表了一个元素有多大。序号编号的规则如下:-序号从 1 开始编号。-一个元素越大,那么序号越大。如果两个元素相等,那么它们的序号相同。-每个数字的序号都应该尽可能地小。示例 1:输入:arr = [40,10,20,30]输出:[4,1,2,3]解释:40 是最大的元素。 10 是最小的元素。 20 是第二小的数字。 30 是第三小的数字。示例 2:输入:arr = [100,100,10..原创 2020-12-01 15:01:21 · 222 阅读 · 0 评论 -
【java】访问控制权限
java 访问级别修饰符主要包括:private protected 和 public,可以限定其他类对该类、属性和 方法的使用权限。修饰符 类的内部 同一个包里 子类(不同包中) 任何地方 private Y N N N default Y Y N N protected Y Y Y N public Y Y Y Y 注意以上对类的修饰只有:public...原创 2020-11-30 22:20:52 · 110 阅读 · 0 评论 -
【java】类之间的关系
1、泛化关系泛化关系是指类和类之间的继承关系及接口与接口之间的继承关系;2、实现关系实现关系是指类对接口的实现;3、关联关系关联关系是指类与类之间的连接,一个类可以知道另一个类的属性和方法。在 java 语言中使用实例变量体现;4、聚合关系聚合关系是指是关联关系的一种,是较强的关联关系,是整体和部分的关系。如:汽车和轮胎,它与关联关系不同,关联关系的类处在同一个层次上,而聚合关系的类处在不平等的层次上,一个代表整体,一个代表部分,在 java 语言中使用实例变量体现;5、合成原创 2020-11-30 21:37:37 · 148 阅读 · 0 评论 -
【java】接口和抽象类的区别
1.语法层面上的区别➢抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;➢抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;➢接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;➢一个类只能继承一个抽象类,而一个类却可以实现多个接口。2.设计层面上的区别1)抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。抽象类是对整个类整体进行抽象,包括属性、行为,但是接口转载 2020-11-29 11:28:51 · 168 阅读 · 0 评论 -
【LeetCode刷题】628. 三个数的最大乘积
给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。============================================================================原创 2020-11-29 10:05:54 · 152 阅读 · 0 评论 -
【java】接口(行为)
接口我们可以看作是抽象类的一种特殊情况,在接口中只能定义抽象的方法和变量。➢在 java 中接口采用 interface 声明;➢接口中的方法默认都是 public abstract 的,不能更改;➢接口中的变量是 public static final 类型的,不能更改,所以必须显示的初始化;➢接口不能被实例化,接口中没有构造函数的概念;➢接口之间可以继承,但接口之间不能实现;➢接口中的方法只能通过类来实现,通过 implements 关键字;➢如果一个类实现了接...原创 2020-11-28 23:52:21 · 230 阅读 · 0 评论 -
【java】抽象类
➢在 java 中采用 abstract 关键字定义的类就是抽象类,采用 abstract 关键字定义的方法就是抽象方法;➢抽象的方法只需在抽象类中,提供声明,不需要实现;➢如果一个类中含有抽象方法,那么这个类必须定义成抽象类;➢如果这个类是抽象的,那么这个类被子类继承,抽象方法必须被复写。如果在子类中不复写该抽象方法,那么必须将此方法再次声明为抽象方法;➢抽象的类是不能实例化的,就像现实世界中人其实是抽象的,张三、李四才是具体的;➢抽象类不能被 final 修饰;➢抽象方法不能被原创 2020-11-28 23:00:30 · 216 阅读 · 0 评论 -
【java】final 关键字
final 表示不可改变的含义 ➢采用 final 修饰的类不能被继承; ➢采用 final 修饰的方法不能被覆盖; ➢采用 final 修饰的变量不能被修改; ➢final 修饰的变量必须显示初始化; ➢如果修饰的引用,那么这个引用只能指向一个对象,也就是说这个引用不能再次赋 值,但被指向的对象是可以修改的; ➢构造方法不能被 final 修饰; ➢会影响 JAVA 类的初始化:final 定义的静态变量调用...原创 2020-11-28 17:57:41 · 101 阅读 · 0 评论 -
【java】super 关键字
super 关键字的作用:➢ 调用父类的构造方法;➢调用父类的成员方法;需要注意:super 只能应用在成员方法和构造方法中,不能应用在静态方法中(和 this 是一样的),如果在构造方法中使用必须放在第一行 。为什么会有 super 关键字?➢因为子类必须要调用父类的构造方法,先把父类构造完成,因为子类依赖于父类, 没有父,也就没有子;➢有时需要在子类中显示的调用父类的成员方法。那么我们以前为什么没有看到 super,而且我们也有继承,如:Student 继承了 Pers...原创 2020-11-28 09:40:00 · 126 阅读 · 0 评论 -
【java】方法的覆盖(Override)
首先看一下方法重载(Overload),回顾方法重载的条件:➢ 方法名称相同;➢ 方法参数类型、个数、顺序至少有一个不同;➢方法的返回类型可以不同,因为方法重载和返回类型没有任何关系 ;➢ 方法的修饰符可以不同,因为方法重载和修饰符没有任何关系 ;➢ 方法重载只出现在同一个类中 。方法的覆盖(Override)的条件:➢必须要有继承关系;➢覆盖只能出现在子类中,如果没有继承关系,不存在覆盖,只存在重载 ;➢在子类中被覆盖的方法,必须和父类中的方法完全一样,也...原创 2020-11-27 12:58:51 · 627 阅读 · 0 评论 -
【java】static 关键字
static 修饰符可以修饰:变量、方法和代码块 。➢用 static 修饰的变量和方法,可以采用类名直接访问➢用 static 声明的代码块为静态代码块,JVM 加载类的时候,会执行静态代码块中的内容1、采用静态变量实现累加器public class StaticTest01 { public static void main(String[] args) { Student student1 = new Student(1001, "张三", true, "...原创 2020-11-26 09:16:31 · 296 阅读 · 1 评论 -
【java】 this 关键字
this 关键字指的是当前调用的对象,如果有 100 个对象,将有 100 个 this 对象指向各个对象this 关键字可以使用在:➢当局部变量和成员变量重名的时候可以使用 this 指定调用成员变量 ;➢ 通过 this 调用另一个构造方法;➢ 在构造方法中,如果使用 this 方法调用和其他构造方法,那么 this 语句必须放在第 一句。如果不放在第一句,会发生编译错误需要注意:this 只能用在构造函数和成员方法内部(声明变量也可以用),static 标识的方法里是不能使...原创 2020-11-25 16:36:39 · 140 阅读 · 0 评论 -
Java Swing 图形界面开发(目录)
关于Java Swing 图形界面开发的文章,转载推荐一下https://blog.csdn.net/xietansheng/article/details/72814492转载 2020-11-07 15:32:26 · 175 阅读 · 0 评论 -
日志技术之JCL学习
JCL,全称为"Jakarta Commons Logging",是Apache提供的一个通用日志API。JCL采用了设计模式中的“适配器模式”,它是为“所有的Java日志实现”提供的一个统一的接口,然后在适配类中将对日志的操作委托给具体的日志框架,它自身也提供一个日志的实现,但是功能非常弱(SimpleLog)。所以一般不会单独使用它。它允许开发人员使用不同的具体日志实现工具:Log4j,jdk自带的日志(JUL)JCL有两个基本的抽象类:Log(基本记录器)和LogFactory(负责创建Log原创 2020-08-13 08:46:10 · 560 阅读 · 0 评论 -
日志技术之Log4j学习
Log4j是Apache下的一款开源的日志框架,通过在项目中使Log4J,我们可以控制日志信息输出到控制台、文件、甚至是数据库中。我们可以控制每一条日志的输出格式,通过定义日志的输出级别,可以更灵活的控制日志的输出过程。方便项目的调试。官方网站:http://logging.apache.org/log4j/1.2/1、 Log4j入门1.1、建立maven工程1.2、添加依赖 <dependencies> <!--log4j--> .原创 2020-08-12 22:05:31 · 490 阅读 · 0 评论 -
日志技术之JUL入门
1、日志的概念1.1日志文件 日志文件是用于记录系统操作事件的文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用。 在计算机中,日志文件是记录在操作系统或其他软件运行中发生的事件或在通信软件的不同用户之间的消息的文件。记录是保持日志的行为。在最简单的情况下,消息被写入单个日志文件 。许多操作系统,软件框架和程序包括日志系统。广泛使用的日志记录标准是在因特网 工程任务组(IETF )RFC 5424中定义的syslog。 sys...原创 2020-08-11 21:00:57 · 1485 阅读 · 0 评论