Java基础
文章平均质量分 78
mayifan_blog
湖南大学,电气自动化,自学互联网
展开
-
基于java界面背景设置、容器布局的学习探究
这几天在写五子棋的java程序,当我写完了界面(有棋盘,有按钮)以及编写了基本程序及AI后,我发现自己对于这个界面不是很满意。如图:界面是橘色的背景,用drawline画的棋盘,画出来的黑白子,以及上方的按钮,很明显,这里采用了一个边框布局。这不是我想要的最终效果。首先解决背景的问题,大概有两种方法解决这个问题:1、获取一张照片把它放在最底层的容器,然后把它上方的容器设置为透明。2、在pai...原创 2018-10-31 19:03:28 · 963 阅读 · 0 评论 -
java画板的设计和创建
首先创建一个画板类继承容器类,这样可以在画板类中重写容器的paint方法。public class DrawFrame extends JPanel再创建一个类写监听器的程序,以及一个类来写画板的内容对象参数保存的方法(可以在最小化以及伸缩窗口的时候使画面内容得到恢复)public class DrawMouse implements MouseListener, ActionLi...原创 2018-10-28 12:19:00 · 398 阅读 · 0 评论 -
java迭代图像和递归算法的应用
我们通过画板来实现图像的生成,迭代图像即通过一定的坐标推算公式,从初始坐标点不断获取新的坐标值并打点,修改点迹颜色以形成一个有深浅变化的图像。用代码实现自然界的美,生成一系列二维,三维的图像,它们不是杂乱无章的,而是具有一定规则的富有美感的图像。 if("迭代图像".equals(name)) { x=e.getX(); ...原创 2018-10-28 13:03:00 · 418 阅读 · 0 评论 -
java外部类与内部类的关系
private,public,protected,default的访问权限区别在学习外部类与内部类之前我们首先要弄明白private,public,protected,default在访问权限上有什么不同,这对我们之后的理解会有一定的帮助。1、private:访问权限最低的访问控制符,被它修饰的变量只能访问本类的对象。2、public:访问权限最高,不仅是本类,子类,本包,其他的包,都可以去...原创 2018-12-04 21:48:16 · 5867 阅读 · 0 评论 -
java异常处理机制及自定义异常的实现
什么是异常大家在写java程序时一定经常会遇到控制台弹出一长串红色的字眼,上面介绍了产生错误的原因,发生错误的堆栈名称和位置,这就是异常。异常一般表示程序运行过程中遇到的一些错误,这可能是代码本身的语法逻辑错误,也可能是JVM本身的物理原因导致,异常的触发会导致程序的终止。为了更好地了解异常,我们先来看一下API:Throwable是所有异常的超类,Error和Exception继承了Thro...原创 2018-12-02 02:14:12 · 1505 阅读 · 1 评论 -
JavaGC垃圾收集机制
什么是GCGC的全称是Garbage Collection,垃圾收集。垃圾收集机制的作用是清理虚拟机(JVM)内存,给Java程序的可持续运行提供了保障,假设没有GC,当你不断为新的对象申请空间,一旦内存不足,导致内存溢出,程序就会error并终止。GC会回收那些程序中用不到的对象和用不到的类,释放内存空间。简述JVM的组成JVM即Java虚拟机,是一个在Java环境下执行Java程序,分配...原创 2018-12-19 18:44:35 · 230 阅读 · 0 评论 -
Java 多态、动态绑定、向上转型等概念的解析
Java三大基本特性一、继承:Java的继承体系的特点是子类可以通过继承父类而调用父类的方法(父类方法的修饰符需要为public或者protected才能被继承),子类也可以在继承父类方法的基础上实现一些自己独有的方法,也可以重写父类的方法,这为多态的实现做了铺垫。通过继承可以不用去繁琐地实现一些别的类以及实现的方法,只要继承它即可,但是一个类只能有一个父类,如果想实现一些别的功能,可以再实现一...原创 2018-12-29 17:55:14 · 516 阅读 · 0 评论 -
Java反射机制详解
什么是反射一般我们获取类的信息是去new一个对象,然后查看、修改它的属性或者运行它的方法。而反射不需要创建对象,就可以单独获取类的构造方法、成员变量、成员方法、main方法等信息,这些操作是通过Class对象完成的,Class类只有一个,其中包含了所有类的信息,当一个类被加载的时候,就会自动为这个类创建一个Class对象,通过这个对象,我们可以得到类的所有信息。用反射可以干什么1、获取一个类...原创 2018-12-30 13:59:20 · 205 阅读 · 1 评论 -
向上转型底层原理分析
向上转型向上转型在写代码的过程中经常会用到,它不仅是实现多态的重要机制,也是Java继承体系的精华体现。向上转型常见的形式是:Person person = new Student();这里的Student类是Person类的子类,我们通过Student类的实例构建了一个父类的对象。在方法的调用层面上,person对象只能调用在Person类中存在的方法,且其中的方法一旦被子类重写,那么就会优...原创 2019-01-06 17:49:01 · 1301 阅读 · 3 评论 -
this,super的使用以及不同类之间对象的调用
this可以调用本类中对象的属性和方法,而super可以调用父类中对象的属性和方法,可以简化代码,对象用this或者super替代。关于类和对象的关系,有一点不得不提,在一个类中只能使用一个对象,如果创建并使用多个类会导致“空指针异常”。当你需要在A类中调用B类的属性和方法时,需要把B类的对象传给A类。接下来我们通过一个例子来展示这个过程:这里我们关注前两个类,第一个类中写窗体的代码,第二...原创 2018-10-26 17:55:00 · 427 阅读 · 0 评论 -
基于java swing界面的监听器添加与使用
首先,建立一个swing界面。依然模仿QQ登录界面建立。javax.swing.JFrame jf = new javax.swing.JFrame();jf.setSize(555, 420) ; //界面大小宽555,高420jf.setTitle("QQ2018正式版");jf.setDefaultCloseOperation(3); //退出时可以关闭进程jf...原创 2018-10-22 20:35:00 · 5960 阅读 · 0 评论 -
五子棋AI程序设计
最近做了一个简单的五子棋游戏,其中涉及到界面的布局设计,以及简单的AI算法的应用。我创建了五个类。1、public class ChessJpanel extends JPanel implements Config:这个类中我主要写棋盘的设计以及画面的还原代码。2、public interface Config:写了一个接口,其中主要是关于棋盘内棋子,网格等尺寸的参数的保存,一般也在此处修...原创 2018-11-02 01:53:14 · 1418 阅读 · 2 评论 -
java实现小球的碰撞
这次我们做一个小球的碰撞的游戏,规则是:按下添加按钮,窗口的中心部分会产生一个小球(刚开始默认为黑色),四个方向随机产生,发射小球,再次按下即产生两个小球。当小球碰到窗体边缘的时候会产生反弹,当两个小球接触时会产生碰撞,双方交换速度,向相反方向移动。我们可以选择相应的颜色来改变下一个发射的小球颜色。当按下清除可以清除屏幕上的小球,当按下添加则会继续产生小球。最后我们还添加了自动产生小球的功能,按下...原创 2018-11-03 00:29:01 · 6310 阅读 · 1 评论 -
ArrayList和数组的优缺点比较
ArrayList通俗来说就是一个动态的数组,它可以动态地增加和减少元素,实现了ICollection和IList接口。相比数组,有很大的优势。我们先来看一下数组的定义及使用,再看看ArrayList,观察一下它们的优缺点。 private Shape[] arrayshape = new Shape[250]; public void setShape(int x1, int y1...原创 2018-11-05 02:02:53 · 4534 阅读 · 0 评论 -
java图片RGB转数组及特效处理
图片转数组java中有drawLine的功能,当drawLine的起始点和终止点在同一点时,画出来的就是一个点,当你通过setColor的方法为其赋予颜色时,它画到屏幕上就是一个有颜色的像素点了,当你画出很多的点,便可以组成一幅图片了。获取图片数据的方法就是以二维数组的形式获取图片上点的RGB并保存起来,当你要画的时候,只要遍历数组然后取出颜色画到屏幕上即可。所以,如果我们要处理图片,并为其加上...原创 2018-11-13 23:39:25 · 2162 阅读 · 1 评论 -
多线程游戏(飞机大战)的设计与实现
游戏框架设计在做一个飞机大战前,我们首先要确定我们需要建几个类,这里我们为飞机,子弹,物品建了类。因为它们有自己的属性和方法,方便重复创建对象并区分。飞机大战的窗体界面和监听器是必不可少的类,然后为了画面的重绘以及图像的绘制,我们专门创建了一个类继承容器,在这个类上写程序来确定如何去画这个游戏界面,最后我们还为子弹,飞机,背景分别创建了线程类,来控制他们参数(比如坐标)的修改。游戏规则:1、...原创 2018-11-26 09:01:28 · 2615 阅读 · 1 评论 -
关于类与继承的学习探究
要了解java就应该了解类,对象的概念。类,自然界的事物有它的分类,比如动物类,植物类,建筑类等。每一个具体的对象都会有自己所属的类。比如,比如一条金毛,它是一个具体的对象,他所属于狗这个类,狗这个类同时也是属于动物类这个更大的类。可以通过一个对象逐渐追本溯源,找到它的所属类别。狗所具有的属性,金毛也具有,然而又有一些不同,这里拿金毛和泰迪为例,他们同属于狗这个类,他们都继承到了狗的一些特质,...原创 2018-10-20 11:42:00 · 149 阅读 · 0 评论 -
关于java的swing界面开发总结
学习了利用java进行的界面设计。界面的设计无非就是调用java内部自带的一些包,进行组合,以及参数的设置。相关包涉及到的头文件需要引用头文件。几个基本组件是:JFrame(窗体)、JButton(按钮)、Jtree(树形结构)等。从最基本的窗体构建开始,模仿QQ的登陆界面做一个初步的模仿,其中涉及到了窗体、标签、图片、文本框、复选框、按钮等组件的创建。通过lo.showUI(...原创 2018-10-20 11:45:00 · 1478 阅读 · 0 评论 -
接口及抽象类的概念和程序实现
接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法,那么它也必须重写这个接口中的所有方法,否则程序会报错。接口只是一种形式,接口自身不能做任何事情,但它能为很多类来使用,原本没有然后具体内容的接口在继承它的方法中得到方法的具体实现。public interface Person {public static final int num=1000;publ...原创 2018-10-22 19:57:00 · 253 阅读 · 0 评论 -
Java泛型通配符详解
泛型 < T >泛型在Java的集合中应用十分广泛,一个集合对象往往可以存储不同类别的数据,比如ArrayList,它可以存储String,Integer,对象的引用等各种类型的数据,源码中关于类的对象都用T来表示,T只是一个标识符,不代表任何具体的类。也就是说在代码的编译期间我们是不知道这个集合会用来存储什么类型的数据的,只要在new集合对象的时候指定存储的数据的类型就可以了。这就...原创 2019-01-12 11:27:33 · 674 阅读 · 0 评论