自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BufferedWriter的练习

new FileWriter(filePath,true)表示追加方式写入,new FileWriter(filePath)表示覆盖方式写入。然后以new FileWriter(filePath,true)追加方式写入。首先以new FileWriter(filePath)覆盖方式写入。

2023-08-04 23:19:03 263

原创 Java游戏项目——坦克大战3.0

【代码】Java游戏项目——坦克大战3.0。

2023-08-02 15:24:17 120

原创 多线程的练习(二)

【代码】多线程的练习(二)

2023-08-02 11:36:52 103

原创 多线程的练习(一)

【代码】多线程的练习(一)

2023-08-01 23:54:58 88

原创 多个子线程的练习

【代码】多个子线程的练习。

2023-08-01 17:12:55 46

原创 实现接口Runnable线程应用及代理模式

一种是new Thread对象直接代理,另一种是设计Proxy代理类模仿Thread方法实现代理,后一种运用于某类因为继承了父类而不能继承Thread类时使用。自定义Tiger继承了Animal类因此无法再实现Thread类,所以设计了Proxy代理类模仿了Thread类的方法。这里不能调用start,因为Runnable没有start方法。创建了Thread对象,把 dog对象(实现Runnable),放入Thread。这样可以由thread来代理,因为thread类有start方法,静态代理。

2023-08-01 16:56:50 164

原创 继承Thread 类线程应用及start源码分析

【代码】继承Thread 类线程应用及start源码分析。

2023-08-01 16:37:28 38

原创 Java游戏项目——坦克大战2.0

【代码】Java游戏项目——坦克大战2.0。

2023-08-01 16:04:42 58

原创 Java游戏项目——坦克大战1.0

【代码】Java游戏项目——坦克大战1.0。

2023-08-01 15:34:26 52

原创 事件处理机制

事件监听器(Event Listener):事件监听器是一个接口,用于监听特定类型的事件。在Java中,可以通过实现事件监听器接口,并注册给事件源,来监听并处理特定类型的事件。事件处理器(Event Handler):事件处理器是实现了事件监听器接口的具体类。它实现了事件监听器接口中定义的回调方法,用于处理特定类型的事件。事件源(Event Source):事件源是产生事件的对象。常见的事件包括按钮点击、鼠标移动、键盘按下等。Java的事件处理机制主要涉及事件、事件源、事件监听器和事件处理器四个主要组件。

2023-08-01 15:31:16 324

原创 绘图方法的练习

【代码】绘图方法的练习。

2023-08-01 15:27:49 42

原创 自定义泛型的练习

【代码】自定义泛型的练习。

2023-07-31 11:07:01 47

原创 泛型的练习

【代码】泛型的练习。

2023-07-31 09:50:17 38

原创 集合的练习(三)

【代码】集合的练习(三)

2023-07-30 23:41:57 39

原创 集合的练习(二)

【代码】集合的练习(二)

2023-07-30 23:21:11 43

原创 集合的练习(一)

【代码】集合的练习(一)

2023-07-30 23:06:13 38

原创 Map的练习

主要是封装,向上转型和向下转型的关系要理清。

2023-07-30 14:12:26 47

原创 HashSet的练习

注意,Employee类和MyDate类hashcode都要重写!

2023-07-29 23:32:45 52

原创 HashSet源码解释

这里运用了双引用(类似双指针)的方式,巧妙的对结点进行判断,下一个结点e与为前一个结点p形成无限循环,只有当下一个结点e为null时,newNode赋值给e,赋值后立即判断结点是否到达8,是否需要扩容,之后将e赋值给p,此时e = p =null 循环退出,之后代码继续执行,完成add添加。(注意:如果泛型传入了数据类型,默认的Object就会改为该数据类型,我们这里讨论的是HashSet的源码运行机制,暂不讨论有关泛型的概念)对于HashSet的源码是非常复杂的,在第一次add时,进入了方法。

2023-07-29 22:56:49 48

原创 List集合排序的练习

【代码】List集合排序的练习。

2023-07-29 15:39:11 41

原创 List接口练习

【代码】List接口练习。

2023-07-29 15:16:05 30

原创 Collection接口的练习

【代码】Collection接口的练习。

2023-07-29 14:53:37 40

原创 字符串统计的练习

【代码】字符串统计的练习。

2023-07-29 11:48:54 22

原创 注册处理的练习

【代码】注册处理的练习。

2023-07-29 11:22:46 29

原创 String翻转的练习

【代码】String翻转的练习。

2023-07-29 10:53:45 26

原创 Arrays的练习

/ //这里是对Book数组排序,因此 o1 和 o2 就是Book对象。books[3] = new Book("java从入门到放弃",300);books[2] = new Book("青年文摘20年",5);books[0] = new Book("红楼梦",100);books[1] = new Book("三国演义",90);// //要求按照书名的长度来进行排序。// 按照书名长度从大到小。//price从小到大。

2023-07-27 23:29:27 41

原创 StringVsStringBufferVsStringBuilder的测试

【代码】StringVsStringBufferVsStringBuilder的测试。

2023-07-27 20:59:17 64

原创 StringBuffer的练习

【代码】StringBuffer的练习。

2023-07-27 20:14:06 31

原创 OOP高级部分的练习(七)

【代码】OOP高级部分的练习(七)

2023-07-26 18:36:48 29

原创 OOP高级部分的练习(六)

【代码】OOP高级部分的练习(六)

2023-07-26 18:34:14 19

原创 OOP高级部分的练习(五)

【代码】OOP高级部分的练习(五)

2023-07-26 17:05:18 24

原创 OOP高级部分的练习(四)

【代码】OOP高级部分的练习(四)

2023-07-26 16:01:02 31

原创 OOP高级部分的练习(三)

【代码】OOP高级部分的练习(三)

2023-07-26 16:00:27 27

原创 OOP高级部分的练习(二)

【代码】OOP高级部分的练习(二)

2023-07-26 13:32:10 24

原创 OOP高级部分的练习(一)

【代码】OOP高级部分的练习(一)

2023-07-26 13:31:18 40

原创 Enumeration的练习

【代码】Enumeration的练习。

2023-07-26 12:07:59 34

原创 匿名内部类的练习

【代码】匿名内部类的练习。

2023-07-25 22:47:23 42

原创 Java房屋出租系统

【代码】Java房屋出租系统。

2023-07-24 17:57:09 84

原创 OOP中级部分的练习(五)

【代码】OOP中级部分的练习(五)

2023-07-24 10:48:09 35

原创 OOP中级部分的练习(四)

【代码】OOP中级部分的练习(四)

2023-07-24 00:13:43 40

空空如也

空空如也

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

TA关注的人

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