- 博客(12)
- 收藏
- 关注
原创 初识线程 带你理解程序运行的基本流程
通过调睡眠时间,可以控制球自动运行时的速度,通过修改也可以达到说我们用键盘控制一个主体运行,达到多线程运行的具象呈现。②线程类DroneThread:继承Thread,封装无人机绘图逻辑和运动控制,通过多线程实现双无人机独立运动。线程:进程的组成部分,是CPU分配执行任务的最小单元,一个进程至少包含一个线程,多线程可共享进程数据。②实现Runnable:多实现灵活,任务与线程分离,多个线程可共享一个任务对象的数据。进程:运行中的程序,代码和数据加载到内存,通过调度CPU、RAM、IO等资源实现功能。
2026-01-21 15:11:24
588
原创 用Java编写一个小游戏:并发/多线程处理初体验
三、编写小球实体类( Ball ):Ball存在的意义是为了在生成多个小球时不会占用多个线程,我们通过Ball可以用一个线程控制多小球,而实现这个功能还需要将点击时生成的小球对象存储在List里面。二、编写主界面类( ThreadUI ):首先就是要创建一个窗口,并且小球是点击生成,所以就需要鼠标监听器并且还需要画笔将小球绘制出来。通过以上步骤,实现了一个游戏的基础模板的雏形,后续会学习小球的暂停以及小球相互之间碰撞产生的反弹效果,在不断完善之下最终设计出来一个类似于坦克大战的小游戏。
2025-07-25 15:52:04
401
原创 Java面向对象之封装
①每个类带一个隐式空参数构造函数 ②可以自定义构造方法 ③显示定义的构造方法会覆盖隐式的。部分变量final修饰之后变为常量,但每一个对象有都需要一个自己的常量,可以在构造方法中进行变量初始化。public void set属性名(数据类型 参数名){属性变量=参数名;3、访问权限修饰符:作用于编译代码时,定义的内容可以使用的范围。修饰的属性在内存中只会创建一份,不会随对象创建。
2025-04-25 17:43:23
344
原创 代码中那些你以为的不重要的细节之运算符数据运算和逻辑控制
String是一个特殊例子,它的存储过程经过特殊处理,在程序中使用了一个字符串,后续还要使用这个字符串,会直接将地址赋给变量,并且当我们修改之前的字符串时,字符串不会改变而是会重新建立一个空间存储,如果将上面str1重新赋值为(str1+=“world”)会有一块新空间存储“helloworld”这个字符串。而rerurn语句是终止方法运行,一个方法种可能有很多循环,也会有很多语句,如果break在这些循环中作用的话会终止循环,对其他代码语句的运行不起作用,而return则是将整个方法停止。
2025-04-01 22:05:24
401
原创 从头学Java,重新认识变量定义,学习基础数据类型及一些可能出现的问题。
从头学Java,学习一门新语言,自然要从基础学起,我们今天来了解一下变量和数据类型一、变量: 在我以前的印象里i,变量好像没什么特别的,它仅仅是一个存放数据的工具。这样处理之后浮点数的一些问题就能得到解决,在以后的代码书写过程中,遇到类似的变量定义的问题时,我们可以及时查找相关资料,改正问题,打好代码基础,之后的代码学习才能更加通畅。4、布尔型:表示条件运算的结果。
2025-03-13 21:32:25
1571
原创 初识Java--了解Java的历史及运行方式,了解Java虚拟机。
简单说就是先建立一个Java文件,设计一些简单代码,然后通过JDK进行编译,编译之后的字节码在任何环境中运行,所以我们说这就是Java是一次编写(编译),到处运行的基础。1998年,JDK 1.2发布,引入了新的虚拟机、集合框架等,Java进入“企业级”应用时代,同年Java Community Process(JCP)成立,负责Java技术的标准化。OK,今天主要就是了解一下Java发展历史,及Java的“一次编写,到处运行”的功能是怎样实现的,了解了Java的程序开发过程及虚拟机的对于实现功能的用处。
2025-03-08 13:59:05
471
原创 用Java完成简单五子棋游戏的设计,实现一些功能。
如果有棋子,就分析哪个方向有,有几个,什么情况,第二个棋子及后面如果与第一个颜色相同,就用那个字符串累加对应ChessSum的值,如果不一样,就分析下一个空位(因为已经满足了“12”或“21”的情况)最后存入chessValue对应位置里,还要再将code和color清空,再分析下一个方向,以此类推,八个方向都这样分析,再将值类加在一起,就是那个空位的危险数值。第二步,设计下棋子的功能,下五子棋时,我们要一黑一白的下,我们分析一下棋子的属性有哪些,颜色,大小,位置坐标。下棋子的功能是在点击的方法中实现的。
2025-03-07 22:35:50
1460
原创 关于类的继承代码示例
在第一张图里设置了基本的一些属性,譬如年龄,名字,身份,(正在)做的事。重写的describe里super就是调用父类里的方法(保留原功能,意味着必须在父类里有个这个方法),剩下的是可以添加新功能。但是我在Manage类里创建Someone对象,调用manage方法时,方法里Citizens和Person类型的变量均可,说明Citizens的子类也可以,这个过程中就发生了强制转型的用法。3,类的自动转型问题。设置了一个新类,设置了一个manage方法,需要一个Citizens型的变量。
2025-02-23 14:52:28
294
原创 关于java中构造方法的简单说明。
学习了Java之后,类是构成程序的基本单位,类中的方法也是多种多样。(一般)方法结构:public(访问权限)+返回值类型+方法名+(属性值类型 属性名){方法体…五子棋中设计每个棋子时专门另设了一个类Chess,来获取每个所下棋子的基本信息(坐标,颜色等)。总结一下,构造方法每个类都有的,并且最开始都是默认的无参构造方法。在优化代码时我们可以重写构造方法,从而达到我们想要的效果,让代码更简洁,可读性更高。创建Chess对象的时候有一部分是Chess(),这部分就是默认的构造方法。因此显得代码很复杂。
2025-02-23 13:50:12
422
原创 关于Java中类的继承的简单说明
自动转型的前提是B extends A,即B是A的子类。自动转型后,仅存在于子类中而不在父类中的方法不能调用。二、继承中子类的方法重写问题: 在子类中我们有些功能不能用父类中方法满足时,我们需要在子类中重写这个方法。在重写方法时,可以保留原有方法的功能,比如说我重写一个study方法。在调用子类或父类中的方法时,优先调用子类中重写的方法,优先级顺序:子类中重写方法>父类中原有的方法。如果子类中没有重写这个方法,直接调用父类中的方法。
2025-02-21 10:28:56
290
原创 用Java制作一个简单的画图工具,直线,矩形,任意三角形,曲线,而且可以做到颜色替换。
你在使用时,点击你想要的图形,就能在画板上画出,这里我们发现需要各种按钮,并且按钮行使对应功能需要加动作监听器。以上功能我们都实现以后,还会发现有问题,比如我们画的图形会穿过按钮,这是因为我们用的流式布局在此时就显得很不合理,所以我们要把它给去掉,用边框布局,而且窗体的默认布局就是边框布局(BorderLayout)。因为北边是我们的功能按钮,所以我们要把添加在窗体上的按钮改到北面板上,然后把画笔改到中心面板(画图区域)上,在北边设置大小中,我们Dimension没有单独设置是因为我们只用一次这个变量。
2025-01-30 16:28:30
638
原创 用Java实现简单的登录界面的显示,注册多个账号,并实现账号登录。
在注册情况下,调用这个方法,同时需要注意,在注册界面添加了一个新的按钮“确定”,同样要添加动作监听器,但是不需要新建类来做监听器,可以共用本监听器,但不能直接创建添加(在新的方法中),用this即可指代本监听器。为了实现登录界面及其一些功能,首先要分析它的所包含的属性及所需要的方法,比如登入界面的呈现需要窗体,账号密码的输入所需要的输入框,还有登录、注册需要的按钮,而且再点击登录或注册按钮后我还要让它出现新的界面,在Java里就需要设置监听器。首先最主要的区别是Java的所有功能都是类里实现的。
2025-01-22 09:59:26
1289
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅