1.方法分类
普通方法:public 返回类型 方法名(参数列表){}
构造方法:public 类名(参数列表){}
抽象方法:public abstract 返回类型 方法名(参数列表);
2.类的分类
变量定义格式:public 类型 变量名;
常量定义格式:public static final 类型 常量名;
普通类:public class 类名{}
1.可以定义普通方法和构造方法,一定不能定义抽象方法
2.可以定义变量、也可以定义常量
3.可以创建对象
抽象类:public abstract class 类名{}
1.普通方法、构造方法、抽象方法都可以定义
2.可以定义变量、也可以定义常量
3.不能创建对象
接口:public interface 类名{}
1.只能定义抽象方法,一定不能定义普通方法和构造方法
2.只能有常量、一定不能定义变量
3.不能创建对象
注意:抽象类中的抽象方法的abstract是不能省略的,但是接口中的abstract是可以省略
抽象类中的属性常量static final不能省略,但是接口中的可以省略
3.接口和抽象类继承
普通类继承抽象类:public class 普通类名 extends 抽象类名 {
//重写抽象类的抽象方法
}
普通类继承(实现)接口:public class 普通类名 implements 接口名1,接口名2,接口名3.....{
//重写接口的抽象方法
}
接口和抽象类的作用:当作父类使用,指导子类的工作
继承是单继承
实现是多实现
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.ButtonGroup;
import javax.swing.ButtonModel;
public class DrawListener implements MouseListener(普通类实现鼠标监听器接口) {
//把坐标定义成属性
public int x1,y1,x2,y2;
//定义一个命令
public String command;
//引用(地址)传递
public Graphics g;
public ButtonGroup bg;
(构造方法)public DrawListener(Graphics gh,ButtonGroup bgp){
g = gh;
bg = bgp;
}
(普通方法)public void mousePressed(MouseEvent e) {
x1 = e.getX();
y1 = e.getY();
//获取,被选中的按钮
ButtonModel bm = bg.getSelection();
command = bm.getActionCommand();
}
public void mouseReleased(MouseEvent e) {
x2 = e.getX();
y2 = e.getY();
//画图形
if("line".equals(command)){
g.drawLine(x1,y1,x2,y2);
}else if("rect".equals(command)){
g.drawRect(Math.min(x1, x2), Math.min(y1,y2), Math.abs(x2-x1), Math.abs(y2-y1));
}else if("oval".equals(command)){
g.drawOval(Math.min(x1, x2), Math.min(y1,y2), Math.abs(x2-x1), Math.abs(y2-y1));
}
}
public void mouseClicked(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
}