java学习之三
简易画图板
1.画布的获取应该在窗体可见之后获取(API中定义的)
2.空指针错误(Java.lang.NullPointerException)
使用基本的java数据类型,变量的值要么已经是默认值,如果没有对其正常赋值,程序便不能通过编译,因此使用基本的Java数据类型(double,float,boolean,char,int,long)一般不会引起空指针异常。由此可见,空指针异常主要跟与对象的操作相关。
解决方法:
根据提示找出为空的对象给它赋一个初值
3.获取动态命令
...........
//创建一个鼠标监听器对象
java.awt.event.MouseListener mouse_listener=new MyMouseListener(this);
..........
..........
public MyMouseListener (Painer p){
//先要获取传过来的画板,才能从画板中获取画布,否则获取到的是空值
painer=p;
g=painer.getGraphics();
System.out.println("画画");
..........
例如上面的简易画图板的实现
我们永远都不会知道用户会选择什么按钮,什么样的颜色来画图,我们只能在用户拿下鼠标时办获取用户什么。所以这个动作事件命令对我们来说是动态的,只有获取了动态的命令才能满足用户的需求
4.重写与重载
方法重写:
是指在子类中对父类的某方法进行重新定义,其子类的该方法名以及参数位置和个数均与父类相同,从而在调用子类的该方法时,不会执行父类的方法.如果在父类中以final定义的方法,在子类中无法重写.
方法重载:
方法重载是指方法名和方法的返回类型都相同,但方法参数不一样.参数不一样体现在参数个数和参数类型不一样.
5.局部变量和全局变量重名
在C等面向过程语言中,局部变量可以和全局变量重名,但是局部变量会屏蔽全局变量。在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量,应该用this关键字来区分
简易画图板
1.画布的获取应该在窗体可见之后获取(API中定义的)
2.空指针错误(Java.lang.NullPointerException)
使用基本的java数据类型,变量的值要么已经是默认值,如果没有对其正常赋值,程序便不能通过编译,因此使用基本的Java数据类型(double,float,boolean,char,int,long)一般不会引起空指针异常。由此可见,空指针异常主要跟与对象的操作相关。
解决方法:
根据提示找出为空的对象给它赋一个初值
3.获取动态命令
...........
//创建一个鼠标监听器对象
java.awt.event.MouseListener mouse_listener=new MyMouseListener(this);
..........
..........
public MyMouseListener (Painer p){
//先要获取传过来的画板,才能从画板中获取画布,否则获取到的是空值
painer=p;
g=painer.getGraphics();
System.out.println("画画");
..........
例如上面的简易画图板的实现
我们永远都不会知道用户会选择什么按钮,什么样的颜色来画图,我们只能在用户拿下鼠标时办获取用户什么。所以这个动作事件命令对我们来说是动态的,只有获取了动态的命令才能满足用户的需求
4.重写与重载
方法重写:
是指在子类中对父类的某方法进行重新定义,其子类的该方法名以及参数位置和个数均与父类相同,从而在调用子类的该方法时,不会执行父类的方法.如果在父类中以final定义的方法,在子类中无法重写.
方法重载:
方法重载是指方法名和方法的返回类型都相同,但方法参数不一样.参数不一样体现在参数个数和参数类型不一样.
5.局部变量和全局变量重名
在C等面向过程语言中,局部变量可以和全局变量重名,但是局部变量会屏蔽全局变量。在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量,应该用this关键字来区分