类的继承与接口
来源:互联网 发布:java发牌游戏程序 编辑:程序博客网 时间:2024/05/16 09:14
今天上午左哥给我补课,讲了类的继承和接口。
方法有三种:普通,构造和抽象。类也有三种:普通,抽象和接口。extends只能单继承,但implements可多实现接口。
今天还做了图画板.可以实现画直线、矩形、椭圆和实心椭圆。
package draw;import java.awt.FlowLayout;import java.awt.Graphics;import javax.swing.ButtonGroup;import javax.swing.JFrame;import javax.swing.JRadioButton;public class Draw extends JFrame{public static void main(String[] args) {//创建一个当前类的对象Draw draw = new Draw();//调用对象的方法draw.initFrame();}public void initFrame(){this.setTitle("图画板");this.setSize(500, 500);this.setDefaultCloseOperation(3);FlowLayout ly = new FlowLayout();this.setLayout(ly);//设置JRadioButton单选按钮JRadioButton j1 = new JRadioButton("直线",true);//逐个按钮设置名称j1.setActionCommand("line");this.add(j1);JRadioButton j2 = new JRadioButton("矩形");j2.setActionCommand("rect");this.add(j2);JRadioButton j3 = new JRadioButton("椭圆");j3.setActionCommand("oval");this.add(j3);JRadioButton j4 = new JRadioButton("实心椭圆");j4.setActionCommand("filloval");this.add(j4);//将4个单选按钮设为一组ButtonGroup bg = new ButtonGroup();bg.add(j1);bg.add(j2);bg.add(j3);bg.add(j4);this.setVisible(true);//获取当前界面的图片操作Graphics g = this.getGraphics();//创建一个鼠标监听器的对象,并且传递参数Draw_p dp = new Draw_p(g,bg);//为当前界面添加鼠标监听器的对象this.addMouseListener(dp);}}这是主函数
JRadioButton是一个新的知识点,是选择单选按钮。
package draw;import java.awt.Graphics;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.ButtonGroup;public class Draw_p implements MouseListener{//定义全局变量private int x1,x2,y1,y2;private Graphics g ;private String s ;private ButtonGroup bg ;//构造方法接收主函数传递的参数public Draw_p(Graphics g,ButtonGroup bg){this.g = g; this.bg = bg ;}public void mouseClicked(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void mousePressed(MouseEvent e) {x1 = e.getX();y1 = e.getY();s = bg.getSelection().getActionCommand();}public void mouseReleased(MouseEvent e) {x2 = e.getX();y2 = e.getY();if("line".equals(s)){g.drawLine(x1, y1, x2, y2);}else if("rect".equals(s)){g.drawRect(Math.min(x1, x2), Math.min(y1, y2), Math.abs(x1-x2), Math.abs(y1-y2));}else if("oval".equals(s)){g.drawOval(Math.min(x1, x2), Math.min(y1, y2), Math.abs(x1-x2), Math.abs(y1-y2));}else if("filloval".equals(s)){g.fillOval(Math.min(x1, x2), Math.min(y1, y2), Math.abs(x1-x2), Math.abs(y1-y2));}}}
这是draw_p类继承鼠标监听器接口,获取坐标值以及运算都在这里绘图都在这里操作。
这是java面向对象的思想,结构分明,条理清晰,不会再像五子棋那个程序那样,一个类里面写完,密密麻麻的代码,看得头都晕了。
今天还有一个小知识点就是,类与类之间的传值问题:通过构造函数进行传值,把参数写到构造函数的参数里面去,可以对别的对象的参数进行操作。
That's all.
2 0
- 类的继承与接口
- 类继承与接口继承
- 类的分类与接口的继承
- 接口与抽象类的继承
- Java中类的继承与接口
- 类的继承与接口实现
- 类和接口的继承与实现
- java 类的单继承与接口的多继承
- javaScrip的继承与接口
- C++的继承与接口
- 接口与继承的区别
- java的继承与接口
- 类与类、类与接口、接口与接口之间的继承个数问题
- 继承接口与实现接口的理解
- java 类继承与接口继承
- JAVA的类,对象 继承 接口的认识与实践
- 抽象类的继承与接口的实现
- Java基础10 接口的继承与抽象类
- MTK SystemUI/系统深度定制修改与编辑------细数那些你所不知道的事件分发处理机制 dispatchTouchEvent
- GROUP BY,WHERE,HAVING之间的区别和用法
- Java——1个自动拆箱的例子
- 2015年-Google北京区-software engineering intern-面试经验
- Android学习笔记(7):View类
- 类的继承与接口
- Activiti进阶(二)——部署流程资源的三种方式
- 2015-12-09
- 海康威视的sdk中java版本Demo的Bug
- 关于小型管理系统的数据库连接及其运行
- 关于 android app 返回键模拟 home键 功能的介绍_仿QQ返回键 又重新回到当前界面_锁屏状态 又要重新唤醒
- File常用方法
- 异常: 2 字节的 UTF-8 序列的字节 2 无效。
- Oracle之SQL基础--约束