课程总结

1、关键字
(1)this:表示当前正在被操作(调用)的对象
                  在构造方法中调用本类的某一个构造方法
(2)super: 本类的父类对象(常用在在子类中调用父类方法时)
                        在子类的构造方法中调用父类的构造方法
(3)final:类---不能有子类,不能被继承
                   方法----不能在子类中被重写
                   属性----变量变为常量,不能被修改  
(4)static:装载类:static声明的属性、代码块执行(static声明的方法在被调用时执行)
                    创建对象:非静态属性、代码块执行 
                     声明属性: 全局属性,一个属性可以被对象所公用
                                        修改一个对象的属性,其他对象的属性全部改变
                                        对象.属性  相当于   类.属性
                     声明方法: 只与对象的类型有关
                      声明类:    可声明内部类,然后用外部类.内部类的形式使用       
(5)优先顺序:在主方法所在类中定义的静态代码块(直只执行一次)——静态属性——主方法——实例化对象 ——普通属性——普通构造块——构造方法——所调用的方法
                         普通类中的静态代码块——构造块——构造方法       
2、数组
(1)内存、外存、缓存
          为什么需要重绘? 界面最小化时,缓冲会把所有数据清掉,等到再次打开时,重新从内存中调用数据;而画面显示的图形尚未保存到内存中。
                    读写速度:缓存最快,内存次之,外存最慢;
                    存储时间:缓存最短,内存次之,外存最长;
                    存储容量:缓存最小,内存次之,外存最大;
                    永久保存:外存;临时保存:CPU、内存。 
(2)数据结构——就是装数据的容器,将不同数据以不同方式组合。
         需要实现以下功能:装数据;取数据;容器长度(容器中所装的数据个数);删除指定数据;修改数据;插入数据。
(3)如何实现自定义队列
 数组:线性、长度固定、带下标、连续地址的
 队列:线性、长度不定、带下标
 实现:两个数组,通过数组的指向改变。
(4)泛型的使用
 泛型:在定义类时,不指定具体类型,而是给一个泛指类型,而是等到实例化时再指明。
3、重绘
(1)第一种重绘方式:是通过队列来实现的。 
       简单说就是通过队列来存储你画的信息。 然后再通过paint方法的重写(super、使用for循环遍历形状队列重新绘制图形 )实现重绘。
              自定义队列(这里最好能够使用泛型。在这个自定义队列中,可以实现数据的增加、取得、删除、插入、修改以及队列长度的取得等功能。在窗体类中实例化自定义队列的对象,为了方便引用设置为了静态。)
              定义一个抽象形状类,包含形状所共有的属性,和抽象方法
             在监听器中实现图形的存储
              在绘画面板处实现重绘
(2)第二种重绘方式:截屏之后遍历像素点实现重绘
         其原理为获得一个截屏,用二维数组记录每一点的颜色。重绘时,每一点颜色展示出来。即可以重绘了。
                由于截屏的方法需要用到机器人对象,所以首先创建一个机器人对象。(需注意的是,机器人不能通过new来直接创建。首先声明Robot属性、然后在构造方法中测试异常并实例化对象 )
                截屏以及存储的实现。(注意Rectangle、BufferedImage、getRGB的使用。另外需要注意下标与坐标的区别:下标:先纵后横,先行后列;坐标:先横后纵,所以数组下标与点的坐标刚好相反并且最好不要使用窗体得到截屏的效果,否则会出现标题栏那一部分的偏差,最好选择使用绘画面板。)
                重绘的实现(paint方法的重写)
(3)两种方式的优劣
当数据不是很大时,第一种方法,程序运行次数较少。
当数据较大时,第一种方法,程序运行次数较多,第二种就比第一种简单。
不管画成什么样,第二种方法, 记录的点颜色个数是一样的。而第一种随着形状的个数越来越多,存入的也越来越多。         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值