JAVA进阶18

间歇性混吃等死,持续性踌躇满志系列-------------第18天

1、飞机游戏小项目

①创建窗口

 1 package cn.xfj.game;
 2 
 3 import javax.swing.*;
 4 import java.awt.event.WindowAdapter;
 5 import java.awt.event.WindowEvent;
 6 
 7 //飞机游戏的主窗口
 8 public class MyGameFrame extends JFrame {
 9     //初始化窗口
10     public void launchFrame() {
11         this.setTitle("My first game");
12         this.setVisible(true);
13         this.setSize(500,500);
14         this.setLocation(200,200);
15 
16         this.addWindowListener(new WindowAdapter(){
17             public void windowCloing(WindowEvent e){
18                 System.exit(0);
19             }
20         });
21     }
22 
23     public static void main(String[] args) {
24         MyGameFrame f = new MyGameFrame();
25         f.launchFrame();
26     }
27 }
View Code

运行结果图

② 图形和文本绘制

super.paint(g);  // 调用父类的paint方法或调用下面的方法直接绘制组件

注:这个位置不加super调用会出现窗体显示不正常。

2、抽象方法和抽象方法

抽象方法:使用abstract修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现。

抽象类:包含抽象方法的类就是抽象类。通过abstract方法定义规范,然后要求子类必须定义具体实现。通过抽象类,我们可以做到严格限制子类的设计,使子类之间更加通用。

 1 package cn.zh.abstrac;
 2 
 3 //抽象类
 4 abstract class Animal{
 5     //抽象方法
 6     abstract public void shout();
 7 }
 8 class Dog extends Animal{
 9     //子类必须实现父类的抽象方法,否则编译错误
10     public void shout(){
11         System.out.println("www...");
12     }
13     public void seeDoor(){
14         System.out.println("seedoor...");
15     }
16 }
17 //测试抽象类
18 public class TestAbstractClasss {
19     public static void main(String[] args) {
20         Dog g = new Dog();
21         g.shout();
22         g.seeDoor();
23     }
24 }
抽象类

运行结果图

抽象类的使用要点:①有抽象方法的类智能定义成抽象类②抽象类不能被实例化,即不能用new来实例化抽象类。③抽象类可以包含属性、方法、构造方法。但是只能用来被子类调用④抽象类智能用来被继承⑤抽象方法必须被子类实现。

 

posted @ 2019-04-08 23:30  贫血的吸血鬼  阅读(107)  评论(0编辑  收藏  举报