这一课因为脑子混沌理解的时候走了很多弯路,暂且尽力整一下思绪。
首先是方法——普通、构造、抽象
类——普通、抽象、接口,容易混。
普通类:普通方法和构造方法
抽象类:普通方法、构造方法和抽象方法
接口:抽象方法
类的继承——父类和子类。这里说子类为普通类的情况,因为用得多而且它能接受所有父类。
抽象和普通用extents,接口用implements。
方法重写和自动转型不讲,因为理解并且太要篇幅。
直接跳到画图的案例,因为有点困了,再打下去要睡了。
首先是窗体的创建和界面的调整,上节已经做过。
需要用一个监听器来获取画图时鼠标下压和释放的坐标即线条的起始点。因为MouseListener 是接口类,不能直接使用——新建一个类,用于MouseListener的方法重写,这里需要将父类的五个方法转为普通方法(只要把用到的两个完善),用其自带属性e.getX()和e.getY()获取坐标,再调用Grapics画笔(涉及到两个类的变量调用,并且自己对这个类了解过少单词意思也不懂以致细节区分不开),其drawLine方法可通过起始坐标画出直线。
不过给出的算法是在释放鼠标后绘出线条,而实际的画图板则是在未释放的时候就显出线条以供直接判断,这个对监听器内算法的要求可能更高,在记录下压下的初始坐标后继续记录未释放时的实时坐标,并连线(但这用那五个方法好像实现不了,是换监听器还是别的方法呢?)。
1.构造函数
访问权限 类名(){}
作用:用来构造对象
特征:创建对象时候执行
构造器有返回值,返回的是对象在内存中的地址
2.方法重载
方法重载:1.在一个类中,
2.方法名相同
3.参数类型、参数个数、参数顺序不一样的方法互为重载方法
构造方法重载:如果重载了构造函数,则类中默认的构造函数没有了,如果还需要用到无参的,则必须显性定义在类中