Java基础
hkf仙
乾,自强不息;坤,厚德载物。
展开
-
Java异常
异常分类异常主要有两类:Error:系统内部错误,这类错误由系统进行处理,程序本身无需捕获处理。Exception:可以处理的异常。Exception有分为:RuntimeExcption 异常(运行时异常):可以捕获,也可以不捕获。非 RuntimeException(受检异常 / 编译时异常,Checked Exception):必须捕获。RuntimeExcption 异常主要包括:错误的类型转换数组访问越界访问 null 指针算术异常Checked Exc原创 2022-03-27 23:10:29 · 374 阅读 · 0 评论 -
Java多线程
简介一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是多任务的一种特别的形式,但多线程使用了更小的资源开销。知识点多线程的实现线程变量线程同步Lock 与 Unlock死锁线程生命周期ArrayBlockingQueue生产者消费者模式线程池什么是线程线程:程序执行流的最小单元。它是进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派 CPU 的基本单位。线程的生命周期多线程实现1、继承 Thread原创 2022-03-27 23:07:59 · 136 阅读 · 0 评论 -
面向对象基础、static、final关键字
1、类类的定义类是相同或相似对象的一种抽象,是对象的一个模板,它描述一类对象的行为和状态。类是具有相同属性和方法(行为)的对象的集合类和对象之间的关系类就是对象的抽象(或者模板),对象就是类的具体(或者实例)。变量类型局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。类变量:也原创 2022-03-26 18:06:15 · 146 阅读 · 0 评论 -
Java常用类
常用类ArraysStringBuilderCalendarDateMathSystemRandom常用方法Arrays方法描述 List asList(T… a)返回由指定数组构造的 Listvoid sort(Object[] a)对数组进行排序void fill(Object[] a, Object val)为数组的所有元素都赋上相同的值boolean equals(Object[] a, Object[] a2)检查两个数组是否相原创 2022-03-26 18:01:35 · 92 阅读 · 0 评论 -
comparable和comparator接口
作用Comparable和Comparator两个接口可为对象进行自定义排序规则。使用方式(1)实现Comparable接口,重写compareto()方法;接口中通过x.compareTo(y)来比较x和y的大小。若返回负数,意味着x比y小;返回零,意味着x等于y;返回正数,意味着x大于y。/** * 方法一:实现Comparable接口,重写compareto()方法 */class Person implements Comparable<Person>{ priva原创 2022-03-21 13:56:30 · 281 阅读 · 0 评论 -
为什么需要同时重写hashCode和equals
hashCode返回对象的hash值,是一个int类型,通常用于hash类的集合,如hashMap、hashSet,集合用hash值使对象分配在hash表的指定位置。不同的对象可能拥有相同的hash值,在集合中,这叫哈希冲突。在查找集合元素的时候,如果只用equals()进行比较,需要一个一个进行比较,速度很慢,所以先匹配对象的hash值,再来遍历查找对象。java也规范了:用equals()方法判断相等的两个对象,hashCode必须相同。所以需要同时重写equals()和hashCode()。...原创 2022-03-21 13:52:14 · 1060 阅读 · 0 评论 -
Java的参数传递与对象的创建方式
Java只按值传递当传入的是基本数据类型时,会将值拷贝一份传递过去;当传入的是引用数据类型是,会将引用拷贝一份传递过去;引用存在栈中,对象存在堆中,实参与形参都指向同一个对象。对象的创建方式(1)通过 new 关键字;(2)通过反射包中的 Constructor 类的 newInstance() 方法;(3)通过对象的 clone() 方法;(4)通过对象的反序列化。获取Class对象的三种方式(1)类名.class(2)对象名.getClass()(3)Class.forName(“原创 2022-03-21 13:48:08 · 1022 阅读 · 0 评论 -
接口和抽象类的区别
相同点: 都不能被实例化。不同点:(1)抽象类中可以有方法的实现,可以有抽象方法,也可以没有抽象方法; 接口:在 Java 8 之前,不能有方法的实现,只能有抽象方法; 从 Java 8 开始,可以拥有默认的方法实现,这是因为不支持默认方法的接口的维护成本太高了。public interface InterfaceExample { void func1(); default void func2(){ System.out.println(原创 2022-03-20 15:03:17 · 272 阅读 · 0 评论 -
面向对象的三大特性
封装隐藏对象的属性和实现细节,仅对外公开接口。典型的例子就是 Java Bean 实体类。继承子类继承父类的全部属性和方法,并且可以对父类的方法进行扩展,还可以拥有自己的属性和方法。抽象类(模板)只能单继承,接口(规范)可以多继承。一个子类只能继承一个父类,但能实现多个接口。多态有编译时多态和运行时多态:编译时:指的是方法的重载运行时:引用所指向的具体类型在运行时才确定,在代码中的体现就是父类型的引用指向子类型的对象。...原创 2022-03-20 14:42:23 · 243 阅读 · 0 评论