自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

寒溪净轩的博客

寒月栖苍柏,溪冷鱼自清。净善浮生事,轩闭一清茗。

  • 博客(39)
  • 收藏
  • 关注

原创 Map集合(双列集合)的基础知识整理

Map集合(双列集合)在Collection接口下的所有集合中保存的对象都是孤立的,对象和对象之间没有任何关系存在,而在生活中,对象与对象之间往往会有一定的联系,而Map集合就可以对其中的对象进行关系维护,Map接口也是双列集合的顶级接口。Map集合的特点public interface Map(K,V)。①Map集合可以一次性存储两个对象;②Map集合中保存的是key和value这样的具有一定对应关系的一组数据,即Map集合中存储的其实是一个个键值对;③Map集合中的key必须保证唯一,即ke

2021-03-27 19:33:42 306

原创 代理模式的基础知识整理

代理模式Proxy Pattern定义: 通过代理类对象控制对被代理对象的访问。优势:①代理模式在客户端与目标对象之间起到了中介作用和保护目标对象的作用;​②代理对象可以扩展目标对象的功能;​③代理模式能将客户端与目标对象分离,从而降低系统的耦合度。原理: 通过抽象类声明业务方法;代理类和被代理类都是该抽象类的实现,被代理类中实现了具体的业务方法,代理类内部含有对被代理类的引用,从而实现通过代理类访问被代理类的具体业务方法。实现: 模拟游戏中玩家召唤不同的宠物进行攻击,这个场景中,不同的宠物相

2021-03-24 15:02:07 162

原创 Java中静态代码块、构造代码块、构造函数、普通代码块的基础知识整理

静态代码块**概念:**在Java类中(方法中不能存在静态代码块)使用static关键字和{}声明的代码块。格式:public class Demo { static { System.out.println("执行静态代码块"); }}**执行时机:**静态代码块在类被加载的时候就运行了,而且只运行一次,并且优先于各种代码块以及构造函数。如果一个类中有多个静态代码块,则会按照书写顺序依次执行。**作用:**一般情况下,如果有些代码需要在项目启动的时候就执行,这

2021-03-10 17:34:20 157

原创 策略设计模式的基础知识整理

策略设计模式OCP原则:即开放-封闭原则(Open Close Principle),就是强调设计和代码编写应该已在现有的代码上改动最小的方式来完成新功能的添加,软件设计应该在添加新功能的时候尽量不去改变现有的代码。即对扩展开放,对修改关闭。为了体现这一原则,我们可以采用策略设计模式,就是封装行为接口,不同的行为有不同的实现类,再将这些实现类通过一个调用类去调用,根据传入实现类的对象不同,调用不同的行为,这样在增加新的行为时,就不需要再修改原有的代码,体现了高内聚、低耦合的特点。比如有一个机器人,我们

2020-08-27 01:00:07 164

原创 Collections类的基础知识整理

Collections类是用来操作集合的工具类,当操作集合时,如果发现集合的方法不够用时,就可以在Collections类中寻找合适的方法。常用方法①public static <T> boolean addAll(Collection<T> c,T……elements):往集合中添加一些元素;②public static void shuffle(List<T> list):打乱集合的顺序;③public static <T> void sort(L

2020-07-15 03:34:59 423

原创 位运算的基础知识整理

位运算的概述&(按位与):如果两个相应的二进制位都为1,则结果为1,否则结果为0。|(按位或):两个相应的二进制位中只要有一个为1,则结果为1,否则结果为0。^(按位异或):若参加运算的两个二进制位值相同,则结果为0,否则结果为1。~(取反):对一个二进制数按位取反,即将0变为1,将1变为0。<<(左移):用来将一个数的各二进制位全部左移N位,右边补0。>>(右移):用来将一个数的各二进制位全部右移N位,移到右边的低位舍弃,对于无符号的数,高位补0;对于有符号的数

2020-07-10 01:36:35 527

原创 可变函数的基础知识整理

在JDK1.5以后,如果我们定义一个方法需要接收多个参数,且多个参数类型一致,那么我们可以使用可变参数。可变参数使用的格式:修饰符 返回值类型 方法名(参数类型…变量名)。可变参数的底层是用一个数组来存储多个变量,变量名其实就是数组名,在函数中我们可以用操作数组的方式来操作传递进来的所有数据。/** * @description: 测试类 * @author: Murphy * @date: 2020/7/37:44 上午 */public class Demo { public s

2020-07-08 02:58:49 534

原创 Iterator迭代器的基础知识整理

Iterator迭代器概述由于集合框架中的集合容器太多,而每个集合容器数据存储的方式都不一样,这导致我们取数据的时候方式也不完全相同。Java针对所有集合定义了一个接口,在这个接口中描述了所有容器的共性遍历规则。对于从集合中取元素,无论是什么数据结构,最终共性的取出方式都是一个一个取,取之前先判断,有元素,则取一个,没有元素,则结束,这种方式称之为迭代。java.util.Iterator接口定义了集合最基本的遍历方式:针对一个集合,应该首先去判断集合中有没有元素,有就取出这个元素,没有就不用遍历了。

2020-07-05 15:02:17 308

原创 Collection集合(单列集合)的基础知识整理

集合概述集合是Java提供的一种容器,可以用来存储多个数据。集合和数组的区别:①数组的长度是固定的,集合的长度是可变的;②数组中存储的是同一类型的元素,可以存储任意类型的数据;集合存储的都是引用类型数据,如果想要存储基本类型的数据,需要存储对应的包装类型;③数组只能存储同一种类型的数据,集合可以存储不同类型数据(其实一般也只存储同一种类型数据)。Collection集合类的继承体系Collection集合类是单列集合类的根接口,用来存储一系列符合某种规则的元素。List接口和Set接口是Co

2020-07-04 23:07:24 347

原创 泛型的基础知识整理

泛型概述泛型就是将具体的类型参数化,将类型定义成参数形式,等到使用的时候再传入具体的类型。泛型可以使用在类、接口和方法中。泛型的优势:①编译时检查代码的类型安全,从而减少出错的概率;②消除了强制类型转换,没有泛型的返回值,我们可以认为是一个Object,在使用时需要对其进行强制转换,这样就可能会出现ClassCastException(类型转换异常)。泛型类定义格式:修饰符 class 类名<泛型变量>{ }。/** * @description: 动物类 * @author: Mu

2020-07-03 23:24:23 161

原创 包装类的基础知识整理

Java提供了两个类型系统:基本类型和引用类型,使用基本类型在于效率高,然后很多时候,对象可以做更多的功能,此时我们可以将基本类型转换为对应的包装类。基本类型对应的包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean装箱:从基本类型转换为对应的包装类对象。int i=new Integer(4);/

2020-07-02 07:23:36 191

原创 StringBuilder类的基础知识整理

由于String类对象的内容不可改变,因此每次进行字符串拼接时都会创建一个新的String对象,既耗时,又浪费空间,为了解决这一问题,我们需要使用java.lang.StringBuilder类。StringBuilder类又称为可变字符序列,它是一个类似于String的字符串容器,通过某些方法调用,可以改变该序列的长度和内容。它内部有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新的内容,StringBuilder会自动维护数组的扩容,可以自动扩充。构造方法:①public Stri

2020-07-01 01:56:48 243

原创 BigDecimal类的基础知识整理

loat和double类型无法提供完全精确的计算结果,所以不能被应用于要求计算完全精确结果的场合,这时候就需要使用BigDecimal类。/** * @description: BigDecimal类的测试类 * @author: Murphy * @date: 2020/7/112:31 上午 */public class BigDecimalDemo { public static void main(String[] args) { double a = 0.1;

2020-07-01 01:36:20 208

原创 System类的基础知识整理

Java.lang.System类中提供了大量的静态方法,可以获取系统相关的信息或进行系统级的操作。currentTimeMillis方法public static lang currentTimeMillis():返回以毫秒为单位的当前时间。/** * @description: System类方法测试 * @author: Murphy * @date: 2020/6/309:58 上午 */public class SystemDemo { public static void

2020-06-30 10:40:53 207

原创 日期类的基础知识整理

Date类java.util.Date类表示特定的瞬间,精确到毫秒。public Date():创建Date对象,并返回创建该对象的时间。public Date(毫秒值L):创建Date对象,并返回Long类型参数毫秒值表达的时间(标准时间1970年1月1日00:00:00 GMT的毫秒值为0)public long getTime():把Date对象转换成对应的毫秒值。/** * @description: 测试日期类 * @author: Murphy * @date: 2020/6/2

2020-06-29 14:37:37 208

原创 Objects类的基础知识整理

在JDK7中添加了一个Objects类,这个类是对象工具类,它里面所有的方法都是用来操作对象的。equals方法在比较两个对象的时候,Object类的equals方法容易出现空指针异常,而Objects类的equals方法则优化了这个问题,使程序更加健壮。public static boolean equals(Object a, Object b) { return (a == b) || (a != null && a.equals(b)); }isNull方法

2020-06-28 06:27:28 232

原创 Object类的基础知识整理

java.lang.Object类是是所有类的父类,它的方法所有类都可以使用。如果一个类没有特别指定父类,那么它默认继承Object类。toString方法public String toString():返回对象的字符串表示,其字符串内容就是对象类型@地址值。在实际开发中,我们往往需要按照对象的属性得到相应的字符串表现形式,此时需要重写该方法。/** * @description: 人类 * @author: Murphy * @date: 2020/6/286:01 上午 */publ

2020-06-28 06:17:19 163

原创 枚举类的基础知识整理

什么是枚举类?对象有限且固定不变的类,在Java里被称为枚举类。例如季节类,它只有春夏秋冬四个实例,因此可以用枚举类来表示。/** * @description: 季节枚举类 * @author: Murphy * @date: 2020/6/274:08 上午 */public enum Season { SPRING, SUMMER, AUTUMN, WINTER;}枚举类是一个特殊的类,它一样可以有自己的成员变量、成员方法、构造器,可以实现一个或多个接口。枚举类的优势和特

2020-06-27 05:31:58 519

原创 单例设计模式的基础知识整理

单例设计模式概述单例设计模式:运用单例设计模式的类,在系统中它的对象永远只有一个。适用场景:当我们希望该类的对象只有一个时,我们就可以使用单例模式,这样可以节约内存,提升性能。饿汉式单例设计模式:饿汉式单例设计模式特点:不管你有没有使用这个对象,它都会产生一个对象。为了达到这个目的,我们可以用private final static来修饰一个成员变量,然后用这个变量来存储唯一对象,再将构造器私有化,最后设计一个方法来返回这个唯一对象。懒汉式单例设计模式:懒汉式单例设计模式特点:等我们需要使用这个

2020-06-26 02:57:44 116

原创 内部类的基础知识整理

内部类概述类时用来描述事物的,内部类也是描述事物的,只不过描述这个事物需要依赖在其他事物之中。因此,当我们在描述事物时,事物中还有其他的事务,我们就可以提供Java中提供的内部类来描述,简单来讲,就是一个类中包含了另一个类。格式:class 外部类{ //外部类成员位置 class 内部类{ }}成员内部类成员内部类是定义在类中方法外的类。定义格式:class 外部类{ //外部类成员位置 class 内部类{ }}在描述事物时,如果一个事

2020-06-25 03:16:47 184

原创 final关键字的基础知识整理

修饰类被final修饰的类是最终类,它不能再被继承格式:final class 类名{ }修饰方法被final修饰的方法,在子类中不能被重写格式:public final void method(){ }修饰变量修饰基本类型的局部变量基本类型的局部变量被final修饰后,只能赋值一次,不能被更改,第二次赋值会编译报错。修饰引用类型的局部变量引用类型的局部变量被final修饰后,只能指向一个对象,地址值不能再更改,但是不影响对象内部的成员修改。修饰成员变量被fina

2020-06-25 03:15:49 225

原创 多态的基础知识整理

Java中多态的体现多态:表示一个事物的多种表现形态,同一个事物以不同的形态表现出来。多态体现的格式:父类类型 变量名=new 子类对象;变量名.方法名();父类类型:指子类对象继承的父类类型或者实现的父类接口类型。当使用多态的形式调用方法时,首先会检查父类中是否有这个方法,如果没有,则编译报错,如果有,则执行子类中重写后的方法。/** * @description: 父类 * @author: Murphy * @date: 2020/6/233:20 上午 */abstract

2020-06-23 04:49:39 187

原创 接口的基础知识整理

接口的概述及其基本特点接口,是Java语言中的一种引用类型,接口的内部主要封装了方法,包含抽象方法(JDK7及其以前)、默认方法和静态方法(JDK8)、私有方法(JDK9)。接口的定义和类的定义相似,和类时同级别的,使用interface关键字修饰,同时也会被编译成class文件,但一定要明确它不是类,而是一种引用数据类型。public interface 接口名{ //抽象方法; //默认方法; //静态方法; //私有方法;}接口的特点:①接口中无法定义成员变量,但是可以定

2020-06-22 02:06:33 391

原创 抽象类的基础知识整理

父类中的方法,被它的子类们重写,子类的实现方法都不尽相同,那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了,我们把没有方法主体的方法称为抽象方法,把含有抽象方法的类称为抽象类。注意事项:①子类在继承抽象类后,需要将父类中的所有抽象方法重写完成;②抽象类和抽象方法需要用abstract修饰,一般类不能使用;③抽象类不一定是最顶层的类,但一定不是最底层的类;④抽象类有构造函数,但不能创建对象,抽象类的构造函数是为了给成员变量初始化的;⑤抽象类也可以继承其他的类;⑥abs

2020-06-21 04:25:39 340

原创 继承的基础知识整理

继承的概念和特点当某个类需要继承其他类的时候,在定义当前类的地方使用extends关键字,然后让这个类去继承需要继承的其他类。此时被继承的类称为父类,实现这个继承的类称为子类。子类继承父类后,可以使用父类的成员变量和成员方法(private修饰的成员不能被子类继承)。继承的优势:让类与类之间产生关系,父类定义好成员,子类直接使用,提高了代码的复用性。继承的弊端:打破了封装性。继承在内存中的加载顺序:JVM在加载子类的时候,会发现子类的字节码文件里有一个extends标识,所以JVM会先将父类加载到方

2020-06-20 04:16:55 259

原创 Arrays类和Math类的基础知识整理

Arrays类Arrays类中包含用来操作数组的各种方法,其所有方法均为静态方法,调用起来非常简单。常用方法:public static String toString(int[] a);//返回指定数组内容的字符串形式public static void sort(int[] a);//对指定的int型数组按升序进行排序Math类Math类中包含用于执行基本数学运算的方法,如初等指数、对数、平方根等。类似于这样的工具类,所有的方法都是静态方法,调用起来非常简单。常用方法:public s

2020-06-19 04:09:33 187

原创 Static关键字的基础知识整理

static关键字属于一个修饰符号,它可以用来修饰成员变量和成员方法(不能修饰构造函数)和代码块,被修饰的成员是属于类的,而不单单是属于某个对象的。也就是说,static修饰的成员变量和成员方法不能由对象来调用,而是直接使用类名调用。静态成员方法:静态函数是在类加载的时候就在内存中加载完成,可以直接运行的函数;实例函数的运行必须是类加载完成且通过new关键字创建对象之后,通过对象才能调用。静态方法中不能直接调用实例方法,除非在静态方法中创建对象,然后通过对象进行调用;实例方法中可以直接调用静态方法。原

2020-06-18 04:16:44 145

原创 String类的基础知识整理

String类代表字符串,Java中的所有字符串文字都可以被看作是此类的实例,Java程序中所有用双引号引用起来的数据都是一个对象。特点:①字符串常量,它属于对象,但是它不是存储在堆空间中,而是存储在方法区中的字符串常量池中。字符串常量池保存的就是所有的字符串数据。只要我们书写了双引号,不管双引号中间是什么数据,这些数据都会立刻在字符串常量池中保存,并且一直存在不会被改变。②字符串的值在创建之后不能被更改,一旦书写完成,它就是一个固定值。(对象中的常量数据不能改变,而指向对象的引用变量空间中的内存地址

2020-06-17 03:21:40 228

原创 ArrayList类的基础知识整理

ArrayList集合类是大小可变的数组的实现,存储在集合内的数据成为元素,此类提供一些方法来操作内部的元素。ArrayList中可不断添加元素,其大小也自动增长。基本格式: ArrayList<String> list=new ArrayList<>();//其中<>中可填写数据类型常用方法:public boolean add(E e);//将指定的元素添加到此集合的尾部public E remove(int index);//删除此集合中指

2020-06-16 03:19:51 321

原创 Random类的基础知识整理

Random类的实例用于生成随机数。 int n = 100; Random r = new Random(); int a = r.nextInt(n); System.out.println(a);查看构造方法:public Random();//创建一个新的随机数生成器查看成员方法:public int nextInt(int n);//返回一个随机数,范围是0(包括)到n(不包括)之间的随机整数值...

2020-06-16 03:18:38 390

原创 Scanner类的基础知识整理

我们在写程序的时候,数据值都是固定的,但是在实际开发中,数据值肯定是变化的,所以,把数据改为从键盘录入,可以提高程序的灵活性。此时就需要用到Java中的Scanner类。Scanner sc=new Scanner(System.in);//System.in系统录入,指的是从键盘中获取数据int i=sc.nextInt();//获取一个整数查看构造方法:public Scanner(InputStream source);//构造一个新的Scanner,它生成的值是从指定的输入流中扫描的查

2020-06-16 03:18:00 230

原创 封装、访问修饰符的基础知识整理

封装封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问,要访问该类的数据,必须通过指定的方式。适当的封装可以使代码更容易理解和维护,也加强了代码的安全性,且提高了程序中代码的复用性。封装的原则:将属性隐藏起来,通过公共方法对其访问。封装的步骤:①使用private关键字修饰成员变量;②对需要访问的成员变量,提供相应的get、set方法进行访问。this关键字:this表示所在类的当前对象的地址值,常用来记录当前函数调用对象的地址值,当成员变量和局部变量重名时也可以用this来区分

2020-06-15 03:55:21 422

原创 面向对象思想、类和对象的基础知识整理

面向对象思想面向对象思想概述:Java是一种面向对象的程序设计语言,面向对象是一种程序设计思想,它区别于过程思想,强调通过调用对象的行为来实现功能,而不是自己一步一步去操作实现。所有面向对象语言都包含三大基本特征:继承、封装、多态。面向对象在Java中的体现就是一个个类,类中封装了解决问题的函数。类和对象类是一组相关属性和行为的结合,可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。对象就是通过类的构造方法创建的一个实例。在程序中使用一个类来描述某一事物,而事物的基本属性我们用

2020-06-15 03:53:22 214

原创 运算符的基础知识总结

算数运算符符号说明+加法运算,字符串连接运算-减法运算*乘法运算/除法运算%取余运算++、–自增自减运算在使用++或–时,如果是独立运算,则++或–无论是放在变量前面还是变量后面都没有区别。当与其他运算符混用时,若++或–在变量前面,则先使变量自身做++或–,再使变量参与其他运算;当++或–在变量后面,则先使变量参与其他运算,再使变量自身做++或–。 public static void main(String[] args) {

2020-06-14 03:30:41 188

原创 数据类型转换的基础知识总结

在java中,不同的数据需要保存在不同的空间中,在开辟空间的时候,需要根据不同类型的关键字来定义当前空间的类型。如果开辟的空间和保存的数据类型不一致,就很容易导致程序发生错误,因此可以使用数据类型的转换技术来完成数据的保存工作。隐式类型转换在程序中,空间保存的数据类型不一致时,java内部会自动帮我们进行转换,而想要进行自动转换,则必须遵守java自动转换的规则:可以把小空间的数据给大空间保存。byte 、 short 、 char --> int --> lang --> flo

2020-06-13 05:04:08 281 2

原创 数组的基础知识总结

数组的定义和访问数组定义的三种方式方式一:数据类型 [] 数组名=new 数据类型 [长度];方式二:数据类型 [] 数组名=new 数据类型 [] {元素1,元素2,元素3……};方式三:数据类型[] 数组名={元素1,元素2,元素3……};数组的访问数组的长度属性:每个数组都有长度且长度是固定的,通过语句“数组名.length”可以获得数组的长度。索引访问数组中的元素:①数组名 [索引]=数值,为数组中的元素赋值;②变量名=数组名 [索引],获取数组中对应索引的元素。内存

2020-06-12 03:47:12 190

原创 流程控制语句基础知识总结

判断语句1、ifif(判断语句){ 语句体;}2、if……elseif(判断语句){ 语句体;}else{ 语句体;}3、if……else if……elseif(判断语句){ 语句体;}else if{ 语句体;}else{ 语句体;}选择语句1、switch语句switch(表达式){ case 常量值1: 语句体1; break; case 常量值2: 语句体2 break; …… defau

2020-06-12 03:43:53 209

原创 HTML中如何调整标签在页面中显示的位置

刚学html时,我们会用外边距margin调整标签在页面中的位置,但是在实际使用过程中,多个盒子可能会相互影响,导致调整的位置并不理想。因此,我们可以通过调整标签的绝对位置来调整标签在页面中的位置,此时就可以避免其他盒子的干扰甚至盖在其他盒子上。具体代码实现如下:其中,position值有三种:①static:无特殊定位,对象遵循html定位原则②absolute:将对象从文档流中拖出...

2019-12-26 01:26:36 10573

原创 怎么在mac系统下查看文件的真实路径

大家好,我是寒溪净轩,今天教大家怎么在mac系统下查看文件的真实路径。第一步:打开终端第二步:将需要查看路径的文件拖到终端,就可以在终端看到该文件的真实路径啦。...

2019-12-23 01:26:31 2435

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除