zoukankan      html  css  js  c++  java
  • 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来实例化抽象类。③抽象类可以包含属性、方法、构造方法。但是只能用来被子类调用④抽象类智能用来被继承⑤抽象方法必须被子类实现。

  • 相关阅读:
    火星A+B
    分西瓜(DFS)
    H.数7(模拟)
    镜像树(dfs)
    锐雯上单不给就送(矩阵快速幂)
    STL容器
    优先队列(和fence repair完全一样)
    x位全排列(next_permutation)
    fence repair(队列水过)
    线段相交
  • 原文地址:https://www.cnblogs.com/Anemia-BOY/p/10672302.html
Copyright © 2011-2022 走看看