自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 File类~路径、创建文件对象

路径分为相对路径(不带盘符),绝对路径(带盘符)路径是可以存在的,也可以是不存在的。

2024-05-13 18:11:47 211

原创 线程安全问题、同步代码块、同步方法

线程安全问题、同步代码块、同步方法

2024-05-09 20:54:56 164

原创 线程的常见方法

线程的常见方法

2024-05-09 19:29:08 216

原创 线程的组成、执行特点、创建的两种方式

线程的组成、执行特点、创建的两种方式

2024-05-08 20:57:59 520

原创 获取和修改线程的id和名称

获取和修改线程的id和名称

2024-05-08 17:59:05 256

原创 Map集合的实现类~TreeMap

Map集合的实现类~TreeMap

2024-05-07 22:30:47 234

原创 Map集合的实现类~HashMap

Map集合的实现类~HashMap

2024-05-07 22:08:00 156

原创 Map接口

java—map接口

2024-05-07 21:45:37 207

原创 字符串数组的输入输出

【代码】字符串数组的输入输出。

2024-03-24 18:03:14 190 2

原创 Java 面向对象进阶 18 JDK8、9开始新增的方法;接口的应用;适配器设计模式;内部类(黑马)

如果实现了多个接口,多个接口存在相同名字的默认方法,子类就必须对该方法进行重写:(因为如果不重写的话,就不知道调用的是哪个接口的show方法)子类把从父类继承下来的虚方法表里面的方法进行覆盖了,这才叫重写,但是私有的,最终的,静态的是不会添加到虚方法表中,所以不叫重写。2. 实现事件监听器:内部类可以实现事件监听器接口,在外部类中注册监听器对象,当特定的事件发生时,内部类的方法会被调用。4. 实现迭代器:内部类可以作为外部类的成员,实现迭代器接口,可以用于遍历外部类中的数据结构。

2024-02-25 10:56:14 551

原创 Java 面向对象进阶 17 接口案例(黑马)

推荐使用第一种,因为第一种的接口较少;

2024-02-23 11:16:56 373

原创 Java 面向对象进阶 16 接口的细节:成员特点和接口的各种关系(黑马)

接口的成员变量默认是public static final的,因此可以直接通过接口名访问和使用。这样做的好处是,在实现该接口的类中,无需再次声明和初始化这些成员变量,可以直接使用。Java中接口中成员变量默认修饰符是public static final的原因是为了确保接口的成员变量都是公共的、静态的和不可修改的。- static修饰符使得接口的成员变量可以在没有实例化接口的情况下直接访问。- final修饰符确保了接口的成员变量是不可修改的,即常量。

2024-02-22 22:07:44 450

原创 Java 面向对象进阶 15 接口(黑马)

【代码】Java 面向对象进阶 15 接口(黑马)

2024-02-22 20:46:54 368

原创 Java 面向对象进阶 14 抽象类和抽象方法(黑马)

有两种选择:1、重写所有抽象方法;2、子类也是抽象类(推荐第一种)可以有构造方法:(作用:在创建子类对象时,给属性进行赋值的)

2024-02-22 20:05:19 349

原创 Java 面向对象进阶 13 包,final,权限修饰符,代码块(黑马)

但是不够灵活,因为可能有的不需要这个方法,但是仍会执行构造代码块里面的内容,可以使用以下两种方法代替构造代码块;将switch,case循环里面的1,2,3,4,5改为常量,增加可读性。3、执行机制:我们在创造类对象的时候时候会先执行构造代码块,再执行构造方法。如果当前方法表示的是一种规则,不希望被改变,那么就使用final去修饰。3、如果方法中的代码是抽取其他方法中共性代码,这个方法一般也私有;不希望被继承的时候,可以使用final去修饰类;核心:常量记录的数据是不会改变的;2、成员变量私有,方法公开;

2024-02-22 17:15:48 873

原创 Java 面向对象进阶 12 多态的综合练习(黑马)

【代码】Java 面向对象进阶 12 多态的综合练习(黑马)

2024-02-22 08:56:40 310

原创 Java 面向对象进阶 11 多态的优势和弊端(黑马)

【代码】Java 面向对象进阶 11 多态的优势和弊端(黑马)

2024-02-21 20:20:19 348

原创 Java 面向对象进阶 10 多态中调用成员的特点(黑马)

如果时Dog d = new Dog();那么就直接区子类找name,不会先去父类开始找,找不到再到父类去找;如果调用成员方法时,编译时发现父类没有该方法,就会标红。

2024-02-21 19:37:19 358

原创 Java 面向对象进阶 09 认识多态(黑马)

【代码】Java 面向对象进阶 09 认识多态(黑马)

2024-02-21 16:50:48 338

原创 Java 面向对象进阶 08 继承中构造方法的访问特点、this和super关键字使用总结(黑马)

关于this关键字的访问构造方法的解释:在为成员变量赋默认值的时候使用this(...),并且和super一样,必须在第一行,不然会报错。

2024-02-21 14:02:30 363 1

原创 Java 面向对象进阶 07 继承中成员变量,成员方法的访问特点(黑马)

对于重名的情况,没有关键字,那么就是就近原则,打印出的是ziShow;调用的是A的虚方法表里的method 1,和覆盖的method 2;调用的是B的虚方法表里的method 1,和覆盖的method 2;this.name 指的是Zi(在本类的成员变量去找)因为this是就近原则,super直接去父类找。下面涉及到了重写,需要加上@override;super.name 指的是父类中的Fu;这种情况打印出来的结果是Zi。打印结果为:zishow。这种情况打印的是Fu。

2024-02-20 20:52:51 546

原创 Java 面向对象进阶 06 子类到底能继承父类中的哪些内容(黑马)

子类如果继承父类的构造方法,那么构造方法的类名和子类的类名不一样,所以父类构造方法不能被子类继承。构造方法是用于创建对象并初始化对象的特殊方法,它在创建对象时自动调用,并且由于构造方法与类名相同,因此不能被子类继承。子类只能继承父类的非私有成员变量和非私有方法,但构造方法不属于类的成员变量和方法,所以子类无法继承父类的构造方法。每个类都必须有自己的构造方法来初始化自己的对象。然而,子类可以通过调用父类的构造方法来初始化父类的成员变量,使用super关键字来调用父类的构造方法。这样的操作可以在子类中创建父类的

2024-02-19 22:46:04 1861

原创 Java 面向对象进阶 05 继承的特点(黑马)

创建一个测试类,七个javabean类:代码:代码截图:子类只能访问父类中非私有的成员:

2024-02-01 11:40:40 339

原创 Java 面向对象进阶 04 继承的概述(黑马)

2024-01-31 22:43:29 409

原创 Java 面向对象进阶 03 static 注意事项、重新认识main方法(黑马)

案例代码如下:非静态的方法虚拟机会自带一个关键字,如下:但是不能手动出来,它的类型就是当前类;通过输出this,得到当前s1,s2 的地址;所以在输出时会有隐藏的this,所以this所指向的s1 的名字,年龄,和老师年龄。由于方法里面没有与成员变量重名,所以可以不写this;如果添加show2 方法,那么在程序运行的时候,this.show2();就代表,s1调用show2,和s2 调用show2;

2024-01-31 22:26:19 873

原创 Java 面向对象进阶 02 static 静态方法和工具类(黑马)

【代码】Java 面向对象进阶 02 static 静态方法和工具类(黑马)

2024-01-31 20:57:11 387

原创 Java 面向对象进阶 01(黑马)

在执行main方法的第一个语句时,是用类名调用了Student方法中的静态变量teacherNmae并赋值为阿伟老师,用到了Student这个类,所以就会把Student类的字节码文件加载到方法区,并在内存中创建了一个单独存放静态变量的空间,即为静态区。静态区随着类的加载而加载,只有new关键字执行了才有对象,所以静态变量优先于对象而存在的。在jdk8之前,静态区在方法区里面,在jdk8以后就存存放在了堆里面。在堆中创建的空间,存储的是所有的非静态成员变量;在不同的场景下,思考是否可以共享;

2024-01-30 22:10:08 759

原创 Java 学生管理系统

java中的system.exit(0)表示程序正常退出的意思。在程序执行过程中,如果某个条件满足需要立即终止程序的执行,可以使用system.exit(0)来实现。其中参数0表示退出码,0表示正常退出,非0表示异常退出。调用system.exit(0)会终止当前正在执行的线程,并且关闭所有的非守护线程。输入的String类型,可以提高容错性,输入abc也可以,下面Switch case循环的 1 为字符串类型,要加双引号;循环遍历与判断id是否存在重复,所以,可以通过调用getIndex方法,进行简化。

2024-01-30 20:11:27 670

原创 Java 集合 05 综合练习-返回多个数据

如果在方法中打印元素的话,虽然也可以实现输出符合条件的元素,但是后续如果要使用就不方便。

2024-01-29 21:23:27 593

原创 Java 集合 04 综合练习-查找用户是否存在

注意点:带有返回值的方法在返回值返回后,会立即结束该方法的执行。任何在返回值后面的代码都不会执行。这是因为返回值是方法的结果,一旦返回结果,方法的任务就完成了,没有必要继续执行后续的代码。视频代码:直接在contains方法中调用getIndex方法,这样不用再写一次循环。javabean代码一样。

2024-01-29 20:17:58 747

原创 Java 集合 03 综合练习(黑马)

原因是:第一次创建学生对象后,地址是0x0011,将zhangsan 23复制进去后,存储到集合中,接下来并没有再次创建对象,所以还是对同一个对象赋值,变为lisi 24,再将0x0011放进集合中,最后输入的是wangwu 25,仍然是对这个对象赋值,所以,存入集合中的是三个一样的地址都是0x0011,所以指向的都是同一个对象,所以输出的都是wangwu 25;在没有重写toString()方法的情况下,toString()方法返回的是对象的地址值。问题1、没有执行添加的循环,最后集合长度为0;

2024-01-29 19:14:02 500

原创 Java 集合 02 综合练习+基本数据类型对应的包装类

【代码】Java 集合 02 综合练习+基本数据类型对应的包装类。

2024-01-29 15:28:53 394

原创 Java 集合 01

集合的容量是可以变的可以将基本数据类型变为包装类存入集合中;

2024-01-29 14:43:34 604

原创 Java 字符串 10 字符串相关类的底层原理

在jdk8之前,使用StringBuilder,先创建一个StringBuilder 对象,把s1放进去,再把s2放进去,最后再通过toString,创建一个String对象,然后再创建一个StringBuilder 对象,把刚才ab放进去,再将s3放进去,最后再通过toString,创建一个String对象,至少创建四个对象。s2右边没有变量,所以在编译的时候,触发了优化机制,所以在运行的时候,直接复用串池里面的abc,所以地址是一样的,所以为ture;但是预估也需要时间,所以,要避免直接+;

2024-01-27 17:38:54 434

原创 Java 字符串 09 StringJoiner(可以指定间隔符号,开始符号,结束符号)

长度代表,最后打印出来的所有长度;

2024-01-27 16:29:12 380

原创 Java 字符串 08 StringBuilder

当我们使用 StringBuilder 进行操作时,每次操作都是在原有的字符串上进行修改,而不会创建新的字符串对象。StringBuilder 是一个可变的字符序列,它可以进行字符串的添加、删除、修改等操作,而 String 是一个不可变的字符序列,一旦创建就不能修改。反转元素:在容器内部直接发生了反转,和字符串不一样,字符串本身不呢个改变,需要有返回值去承接,而这个是直接改变了容器内的东西。输入abc,从b截取到末尾,就是bc,没有A, 则不替换,再获取长度,等于2;

2024-01-27 15:25:12 389

原创 Java 字符串 07 练习-手机号屏蔽、身份证号信息查看,游戏骂人敏感词替换

将字符串里面的是数字的字符转换为数字运算,用id.charAt()获取单个字符,然后通过ASC||码表里面对应来运算,注意点:只有返回值才是被截取的小串,所以需要有一个变量去承接它;’0‘是48,’9‘是57;

2024-01-27 11:18:47 484

原创 刷题总结 1.25 1.26(有没看懂的题)

例如在广义表中 LS={1,{2,3},4} 中,表头为1,表尾为{2,3}和4组成的子表,即{{2,3},4}。广义表可以包含数据项和子广义表,数据项可以是任意类型的数据,而子广义表则是一个嵌套的广义表。例如,(1, 2, 3) 是一个包含三个整数元素的列表。因为链表是有序的,所以可以使用归并排序的思想,将链表拆分成两个更小的链表,然后分别进行排序,最后再合并成一个有序链表。head[tail[tail[K]]]的值为(p,(q,s)),再应用tail,得到(q,s),再应用head,得到q。

2024-01-26 21:49:48 713

原创 Java 字符串 06 练习-字符串拼接、反转、金额转换(黑马)

【代码】Java 字符串 06 练习-字符串拼接、反转、金额转换(黑马)

2024-01-26 21:43:47 568

原创 Java 字符串 05 练习-遍历字符串和统计字符个数

【代码】Java 字符串 05 练习-遍历字符串和统计字符个数。

2024-01-25 21:57:15 462

java static学习

java static学习

2024-01-20

空空如也

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

TA关注的人

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