标签:而不是 意义 坦克大战 关键字 一个 oid ati font 子类
本文介绍:
本文分为多个部分,间断性更新。主要涉及到 面向对象思想,Java GUI绘图,多线程,IO,数据库相关知识。
注:本文内容是整合了韩顺平老师的java项目(代码部分和韩顺平老师有不同)然后加上自己的一些思考写得,本文讲的有些累述,但有提示,如若基础扎实可以直接跳过,一部分面向仅仅学习了JavaSE的语法与面向对象的,一部分是面向已经掌握了GUI,多线程,IO,数据库相关知识的。
本人认为该项目可以很好地加深对面向对象思想的理解,加强对Java各个基础知识的巩固。
基本要求:
观看并且实践本文,基本要求为:至少学习了一门面向对象语言,对面向对象的一些基础(关键字和一些基本概念)扯得清楚,并且,如若你在观看并打出代码时,必须每一句话,都知道为什么要这样做,为什么不那样做,这么做的含义是什么,有什么好处...等等。而不是说这样做可以达到目的,至于为什么根本就不去理解,那么我认为这样做完一个项目会很辛苦,但或许没什么收获!
项目正文:
面向对象思想,我是并不打算讲这部分内容的,所以我的第一部分的正文和代码应该是讲述GUI绘图技术的!
GUI绘图技术(已经明白的可以直接跳过进入下一部分或者温习一下):
要制作一个坦克游戏的第一步,应该就是制作一个窗口!而Java中制作窗口的方式很多,在这里我们选取JFrame。
第一步:如何制作一个窗口(最简易的制作窗口)
1 /** 2 * 目的:学习如何创建一个窗口 3 * @author HP 4 * 5 */ 6 public class Test01 extends JFrame{ 7 //主函数 8 public static void main (String[] args) { 9 new Test01(); 10 } 11 12 //构造方法初始化 13 public Test01 () { 14 this.setSize(400,300); 15 this.setVisible(true); 16 } 17 }
代码讲解:
在这里,我们采用了继承JFrame类的方法来创建窗口,Test01继承了JFrame类,那么,也就是一个窗口类的子类。我们给它定义一个概念那就是,它应该也是一个窗口类哦。虽然名字和窗口类好像没什么关系。但事实上它继承了JFrame的所有方法和属性。
问题1 : 为何不直接在这个类中主函数中创建一个窗口对象进而创建一个窗口,而要采用继承之后再创建的“笨方法”呢?
因为我们并不能修改JFrame类中的代码,故而,我们也就不能再窗口类中增添我们各种各样的特性来满足我们对于窗口类的要求了,所以我们使用一个 我的窗口 MyFrame 的类(在这里也就是Test01)来满足我们自己的需求啦!
问题2.:为何不使用一个创建窗口的函数装下现在在构造函数里代码,使得代码更具有意义呢?
因为这是我们自己的窗口(MyFrame),也就是说我使用这一次就不需要使用了(定制窗口),并且,我们在创建自己的窗口的时候,是需要一创建对象就直接出现窗口的。因为我们自己的需求已经很明确了,并且这个类并不为其他人服务。
============================================================================================================================================================================
未完待续!
============================================================================================================================================================================
标签:而不是 意义 坦克大战 关键字 一个 oid ati font 子类
原文地址:https://www.cnblogs.com/vizdl/p/9097845.html