自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(171)
  • 收藏
  • 关注

原创 [Java基础揉碎]泛型

泛(广泛)型(类型)=> Integer, String, Dog1)泛型又称参数化类型,是Jdk5.0 出现的新特性,解决数据类型的安全性问题2)在类声明或实例化时只要指定好需要的具体的类型即可3)Java泛型可以保证如果程序在编译时没有发出警告,运行时就不会产生 ClassCastException异常。同时,代码更加简洁、健壮4)泛型的作用是:可以在类声明时通过一个标识表示类中某个属性的类型,或者是某个方法的返回值的类型,或者是参数类型。注意细节1)普通成员可以使用泛型(属性、方法)

2024-04-20 11:26:41 852

原创 [Java基础揉碎]JUnit测试框架

1. JUnit是一个Java语言的单元测试框架2. 多数Java的开发环境都已经集成了JUnit作为单元测试的工具。

2024-04-20 11:22:57 137

原创 [Java基础揉碎]集合

1) 无序(添加和取出的顺序不一致),没有索引2) 不允许重复元素,所以最多包含一个null1)存放的元素是键值对:即K-V2) hashtable的键和值都不能为null,否则会抛出NullPointerException3) hashTable 使用方法基本上和HashMap一样4) hashTable是线程安全的(加了synchronized),hashMap是线程不安全的5) hashTable的底层就是一个HashTable$Entry的数组+单向链表不会转为红黑树。

2024-04-19 12:45:36 664

原创 [Java基础揉碎]日期类

2) Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、 MONTH、DAY_OF_MONTH、HOUR等 日历字段 之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。2) SimpleDateFormat: 格式和解析日期的类 SimpleDateFormat 格式化和解析日期的具体类。1) LocalDate(日期)、 LocalTime(时间)、 LocalDateTime(日期时间)JI。1)第二代日期类,主要就是Calendar类(日历)。

2024-04-11 08:06:39 296

原创 [Java基础揉碎]Biglnteger和BigDecimal类

异常怎么解决, 指定一个精度, 以下是保留分子的精度 , 分子多少位小数就保留多少位小数。2) subtract 减。3) multiply 乘。2) subtract 减。3) multiply 乘。4) divide 除。4) divide 除。

2024-04-10 22:09:29 123

原创 [Java基础揉碎]System类

int[] src={1,2,3};int[] dest = new int[3];System.arraycopy(src, 0, dest, 0, 3);

2024-04-10 21:53:40 171

原创 [Java基础揉碎]Arrays类

如果传进去的是92 , 它的位置本来就该在90的后面, 123的前面, 也就是下标3的位置, 那么加一的负数就是得到-4。追进去binarySort里面看到它调用了接口实现的compare方法, 来决定排序的顺序。如果这个值在数组中不存在, 就返回它本该在的下标加一的负数, 下面就是-6。也就是说匿名内部类这里你返回的是大于0 还是小0 决定了你的排序顺序。追进去可以看到走的binarySort() //二叉树排序。断点可以看到走的TimSort.sort()方法。

2024-04-10 21:43:25 607

原创 [Java基础揉碎]Math类

Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

2024-04-09 22:46:37 316 1

原创 [Java基础揉碎]StringBuffer类&& StringBuild类

java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删。很多方法与String相同,但StringBuffer是可变长度的。StringBuffer是一个容器。StringBuffer是一个final类, 不能被继承。1)一个可变的字符序列。此类提供一个与StringBuffer 兼容的API,但不保证同步(StringBuild不是线程安全的)。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候。

2024-04-09 22:28:49 1055

原创 [Java基础揉碎]String

当调用intern 方法时,如果池已经包含一个等于此 String 对象的字符串(用 equals(Object)方法确定),则返回池中的字符串的引用地址。最终指向的是堆中的空间地址。为什么p1.name==p2.name为true , 因为虽然p1, p2对象分别指向堆中的地址, 但是p1.name和p2.name都在堆中指向了同一个常量池地址。此处是先让a的 j 字符和b 的 j 字符比 , 如果一样, 再让a的第二个字符 c 和 b的第二个字符 a 比, 'c'-'a'返回得到2。

2024-04-09 08:08:30 674

原创 [Java基础揉碎]包装类 && 继承图查看所有方法

这里用了自动装箱, 其实底层是调了 valueOf 这个方法, 源码可以看到, valueOf在一个值传进去之后先去判断是否在一个范围内, 在这个范围内直接返回, 如果不在这个范围内再去new 一个新的对象。断点进入可以看到, 因为在比较的时候自动将Integer进行了自动拆箱, 返回了int , int 和int 比较就是值比较。答:都为true时, 上面输出的是1.0, 因为三元运算符是一个整体, Double的精度最高, 提升了优先级。下面输出的是1, if-else是单独的语句, 不会提升优先级。

2024-04-09 07:25:32 989

原创 [Java基础揉碎]异常

当程序中出现了某些“错误”,但该错误信息并没有在Throwable子类中描述处理,这个时候可以自己设计异常类,用于描述该错误信息。1)定义类:自定义异常类名(程序员自己写)继承Exception或RuntimeException2)如果继承Exception,属于编译异常3)如果继承RuntimeException,属于运行异常(一般来说,继承RuntimeException)

2024-04-07 22:42:48 843

原创 [Java基础揉碎]注解

1)注解(Annotation)也被称为元数据(Metadata),用于修饰解释包、 类、方法、属性、构造器、局部变量等数据信息。2)和注释一样,注解不影响程序逻辑,但注解可以被编译或运行,相当于嵌入在代码中的补充信息。3)在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略 警告等。在JavaEE中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替javaEE旧版中所遗留的繁冗代码和XML配置等。

2024-04-02 08:06:35 428

原创 [Java基础揉碎]枚举

1)枚举对应英文(enumeration,简写 enum)2)枚举是一组常量的集合。3)可以这里理解:枚举属于一种特殊的类,里面只包含一组有限的特定的对象象。

2024-04-02 07:27:04 471

原创 [Java基础揉碎]内部类&&匿名内部类

一个类的内部又完整的嵌套了另一个类结构。被嵌套的类称为内部类(inner class), 嵌套其他类的类称为外部类(outer class)。是我们类的第五大成员[思考:类的五大 成员是哪些?[属性, 代码块, 构造器. 方法, 内部类]],内部类最大的特点就是可以直接访问私有属性,并且可以体现类与类之间的包含关系main去调用时, 调用m1, m1下面创建了Inner02去调用内部类的方法。

2024-03-30 12:26:30 800

原创 [Java基础揉碎]接口

接口就是给出一些没有实现的方法,封装到一起到某个类要使用的时候,在根据具体情况把这些方法写出来。语法:interface接口名{//属性//方法class 类名 implements 接口{自己属性;自己方法;必须实现的接口的抽象方法1.在Jdk7.0前接口里的所有方法都没有方法体,即都是抽象方法。2. Jdk8.0后接口可以有静态方法,默认方法,也就是说接口中可以有方法的具体实现实现接口vs继承类。

2024-03-30 09:56:30 545

原创 [Java基础揉碎]抽象类

所谓抽象方法就是没有实现的方法所谓没有实现就是指, 没有方法体当一个类中存在抽象方法是, 这个类也必须声明为抽象类一般来说, 抽象类会被继承, 有子类来具体实现。

2024-03-25 22:18:23 652

原创 [Java基础揉碎]final关键字

final 中文意思:最后的,最终的final可以修饰类、属性、方法和局部变量// 方法的形参也是可以的①定义时: public final double TAX_RATE=0.08;②在构造器中③在代码块中// 只用static这么用的时候会进行类加载, 静态代码块被加载了// final 和 static搭配使用时, 不会进行类加载。

2024-03-24 21:12:39 859

原创 [Java基础揉碎]单例模式

1.静态方法和属性的经典使用2.设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、 以及解决问题的思考方式。设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免去我们自己再思考和摸索1.所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法2.单例模式有两种方式:1)饿汉式2)懒汉式。

2024-03-24 18:27:00 612

原创 [java基础揉碎]代码块

代码化块又称为初始化块,属于类中的成员[即是类的一部分],类似于方法,将逻辑语句封装在方法体中,通过{}包围起来。但和方法不同,没有方法名,没有返回,没有参数,只有方法体,而且不用通过对象或类显式调用,而是加载类时,或创建对象时隐式调用。

2024-03-24 11:31:58 444

原创 [java基础揉碎]理解main方法语法

4.该方法接收String类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数, 案例演示, 接收参数。2)但是,不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员。2. java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public。也就是说在执行这个java程序的时候传进去的参数, 它会把这些参数当成一个字符串数组。1)在main()方法中,我们可以直接调用main方法所在类的静态方法或静态属性。

2024-03-24 09:06:16 204

原创 [java基础揉碎]类变量和类方法

类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的 对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。访问修饰符 static 数据类型 变量名;[推荐]static 访问修饰符 数据类型 变量名;类方法也叫静态方法访向修饰符 static 数据返回类型 方法名(){}[推荐]static 访问修饰符 数据返回类型 方法名(){}

2024-03-24 08:46:02 542

原创 [java基础揉碎]断点调试

1.断点调试是指在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住, 然后你可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。进行分析从而找到这个Bug2.断点调试是程序员必须掌握的技能。3.断点调试也能帮助我们查看java底层源代码的执行过程,提高程序员的Java水平。

2024-03-17 22:00:57 375

原创 [java基础揉碎]Object类详解

我们可以通过System.gc()主动触发, 但是这个触发也有可能不生效的, (好比保洁阿姨正常是5点打扫卫生, 但是你觉得太脏了提前打电话叫了保洁阿姨, 此时如果保洁阿姨有时间可能立马就过来打扫, 如果此时保洁阿姨在打扫其他地方, 她可能就不过来了, 或者她就是没到点不过来) 所以说它还取决于系统的其他运行。在执行发现没有调用finalize里面的内容是怎么回事, 是因为垃圾回收器什么时候回收不是对象一变成垃圾就立马回收的, 而是有一个垃圾回收的算法。2.==: 如果判断基本类型,判断的是值是否相等。

2024-03-17 21:17:51 821

原创 [java基础揉碎]idea怎么查看jdk源代码

2024-03-16 20:33:05 345

原创 [java基础揉碎]多态参数

定义一个经理类, 也继承了员工类, 同时经理多以了一个奖金的属性, 重写的年工资方法也多加上了奖金。还可以同类类型判断实现如果是普通员工就掉普通员工的方法, 如果是经理就调用经理的方法。最终通过同一个方法同一个父类形参,传进去不同的子类实参得到不同的对象的年工资。定义一个员工类, 有名字和工资两个属性, 有年工资的方法。方法定义的形参类型为父类类型,实参类型允许为子类类型。定义一个普通员工继承了员工类 , 重写了年工资的方法。写一个方法得到任何对象的年工资。

2024-03-16 20:18:41 349

原创 [java基础揉碎]多态数组

多态数组就是有一个父类数组, 数组含有不同多个父类子类对象。

2024-03-15 08:00:35 357

原创 [java基础揉碎]动态绑定机制

新建一个父类:新建一个子类继承父类:这里有个main方法, 创建了一个向上转型的对象 , 这时因为对象的运行类型是b, 所以下面打印走的b方法得到40 , 30如果我们将子类的sum注销, 那么调用的这个方法后去找父类, 我们发现父类的sum调用的geti, 此时这个geti在父类子类当中都有, 回去调那个geti, 在此处就发生了动态绑定机制, 此时会去掉子类的geti因为对象的运行类型是子类B, 也就是当调用对象方法的时候,该方法会和该对象的内存地址/运行类型绑定。

2024-03-14 08:09:13 352

原创 [java基础揉碎]面向对象多态

方法或对象具有多种形态。是面向对象的第三大特征,多态是建立在封装和继承基础之上的。

2024-03-12 08:24:35 735

原创 [java基础揉碎]方法的重写/覆盖

简单的说:方法覆盖(重写)就是子类有一个方法,和父类(也可能是爷爷,更上一级)的某个方法的名称、返回类型、参数一样,那么我们就说子类的这个方法 覆盖了父类的方法。

2024-03-09 07:29:33 397

原创 [java基础揉碎]super关键字

3.super的访问不限于直接父类,如果爷爷类和本类中有同名的成员,也可以使用 super去访问爷爷类的成员;如果多个基类中都有同名的成员,使用super访问遵循 就近原则。2.当子类中有和父类中的成员(属性和方法)重名时,为了访问父类的成员,必须通过super。如果没有重名,使用super、this、直接访问是一样的效果!1.调用父类的构造器的好处(分工明确,父类属性由父类初始化,子类的属性由子类初始化)基本介绍 super代表父类的引用,用于访问父类的属性、方法、构造器。

2024-03-09 07:21:53 370

原创 [java基础揉碎]继承

=> 继承就可以解决代码复用的问题 解决, 提供公共的方法返回: 以上图可以看到, 明明只创建了子类对象, 走的是在类的无参构造器, 但是父类的也被调用了 = > 即子类必须调用父类构造器, 完成父类的初始化 如果父类没有提供无参构造器: 子类会报错(报错这里没有一个默认的构造器): 解决: 需要初始化父类构造器(必须放在第一行)例如人是音乐吗, 不是便不能使用继承

2024-03-09 07:02:13 399

原创 [java基础揉碎]封装

封装(encapsulation)就是把抽象出的数据[属性]和对数据的操作[方法]封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作[方法],才能对数据进行操作。比如说我们用遥控器对电视的操作, 我们按电视机的开关键, 其实开关背后是一个复杂的过程, 但是用户只需要按开关就可以了。

2024-02-23 08:08:33 393

原创 [java基础揉碎]访问修饰符

2024-02-23 07:47:37 322

原创 [java基础揉碎]包

2.当类很多时,可以很好的管理类。1.区分相同名字的类。

2024-02-22 21:59:44 372

原创 [Java基础揉碎]idea工具

格式化代码可以快速对齐代码:查看快速运行的快捷键搜索run, 也可以自定义:快速生成构造器(构造器-快捷键 alt +insert):ctrl+h 查看类的层级关系(右侧查看类的层级关系, 同时可以看图):自动分配变量名:什么是模版快捷键:查看模版快捷键和自定义快捷键的地方:

2024-02-22 08:09:03 557

原创 [java基础揉碎]this

java虚拟机会给每个对象分配 this,代表当前对象。这里的this就是new出来的这个对象。

2024-02-21 22:05:28 400

原创 [java基础揉碎] 作用域

局部变量与全局变量:作用域的细节:

2024-02-18 19:17:48 355

原创 [java基础揉碎]方法的调用机制 && 方法使用的细节 && 方法的递归调用 && 方法的可变参数​

方法调用时的参数称为实际参数,简称实参,实参和形参的类型要一致或兼容、个数、顺序必须一致!里面写完成功能的具体的语句,可以为输入、输出、变量、运算、分支、循环、方法调用,但里面不能再定义方法!简单的说:递归就是方法自己调用自己,每次调用时传入不同的变量. 递归有助于编程者解决 复杂问题,同时可以让代码变得简洁。1.一个方法可以有0个参数,也可以有多个参数,中间用逗号隔开,比如getSum(int n1,int n2)3.调用带参数的方法时,一定对应着参数列表传入相同类型或兼容类型的参数!

2024-02-18 12:48:22 331

原创 [java基础揉碎]类与对象

什么是类, 类就是你自定义的一种数据类型, 通过这个数据类型可以去new不同的对象(例如把猫的特性提取出来创建一个猫类就可以new出不同黑猫、白猫、花猫等等不同具体的猫), 是抽象的。什么是对象, 世界上的一切事物都是对象, 这个事物有他的属性(大小样子颜色等等)和行为(学习吃跑等等), 是具体的。对象名放在了栈中指向了一个地址, 这个地址在堆中并里面有三个空间(自定义类的三个属性),2) 属性的定义类型可以为任意类型,包含基本类型或引用类型。(指定初始化就是将新的值替换原来的默认初始化的值)

2024-02-17 19:39:52 351

空空如也

空空如也

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

TA关注的人

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