JAVA学习笔记第九、十、十一天——JFrame、JPanel实现项目实践飞机大战

回顾–面向对象小结:

继承: 类 和 类, 单继承 extends

子类继承父类:
   1.继承父类中所有可见的成员方法和成员变量
   2.父类的构造方法不能被子类继承, 只能被子类调用
   3.子类可以重写父类的方法
     方法名和参数列表一样
     返回值类型, 小于等于 父类的返回值类型
     权限, 大于等于 父类的权限
子类调用父类:
  super() -> 调用父类无参构造方法
  super.m1() -> 调用父类的成员方法
  super.a -> 调用父类的成员变量
  super 只能在子类中使用
  this: 当前对象, 自己

static: 属于类, 通过 类名. 来调用
 static{} -> 静态代码块, 类加载时执行

类加载:

1.创建类的对象
2.调用类的静态成员
3.创建子类对象, 先加载父类, 再加载子类
4.调用子类的静态成员, 先加载父类, 再加载子类
5.Class.forName(String className): 手动加载
    java.lang.String  java.util.ArrayList

抽象abstract:

抽象方法: 只能存在于抽象类或者接口中
抽象类: 可以用来放抽象方法
       不能实例化
       有构造方法, 给自类调用的

final:

final class -> 不能被继承
final void m1() -> 不能被重写
final int a -> 不能被改变, 常量, 必须初始化
    成员变量a, 必须在创建对象时初始化
final static int B -> 必须初始化, 静态常量
    类加载时, 必须初始化完成
常量: 固定几个选项时, 通常类型都是int
     将选项起个名字-变量, final 变量
     如果常量要在外部无关类中使用, 通常为了方便, 都会定义成static

实现: 接口

抽象方法 -> 必须被实现类重写/覆盖的
静态常量 -> 直接通过接口类型使用
默认方法 -> 有具体实现, 可以不被重写
静态方法 -> 直接通过接口类型使用
私有方法 -> 给默认方法提供的

使用接口, 必须有实现类, 并且创建实现类对象

多态: 编译时看左边, 运行时看右边

父类 a = new 子类();
接口 b = new 接口实现类();
a.m1(): 说明m1声明在父类中
   子类重写了m1方法
编译时类型: 只在编译时有效
          泛型
a 想要调用子类特有的方法, 需要强制转换
  可能会出现 ClassCastException
  解决方式, 提前使用 a instanceof 子类
意义: 扩展方法的功能

内部类:

成员内部类 -> 类中

    public class Outer{
        public class Inner{
        }
    }
    Outer.Inner in = new Outer().new Inner()

局部内部类 -> 方法中

    public void m1() {
        int a = 10;
        class Inner {
            // 使用a, a必须是final
        }
    }
    只在方法中可以使用, 一次性

匿名内部类

    接口/抽象类 b = new 接口/抽象类() {
        // 真正的类, 重写抽象方法
    }
    只能创建一次对象

静态内部类 -> 属于类的

    public class Outer{
        public static class Inner{

        }
    }
    Outer.Inner in = new Outer.Inner()

权限:

外部类: public/(default)
成员内部类: public/protected/(default)/private
局部内部类: 不能使用
方法: public/protected/(default)/private
成员变量: public/protected/(default)/private
局部变量: 不能使用

Java swing: 窗口化界面

软件包:
java.awt
javax.swing
1.窗口显示 JFrame
2.画板/面板 JPanel
原生的 JPanel 中, 不能自定义绘画
只能画 按钮, 输入框.. 等一些组件
功能加强 -> 自定义类继承 JPanel
3.图片读取
   1.硬盘中有图片文件
   2.将硬盘中的图片文件, 读取到JVM内存中, 成一个对象
   InputOutput -> IO

JFrameDemo

import javax.swing.*;
import java.util.Arrays;
import java.util.Scanner;
//import java.util.*;

public class JFrameDemo {
   
    public static void main(String[] args) {
   
//        Arrays.toString(new int[]{});
//        Scanner console = new Scanner(System.in);
        // 空参构造方法 -> 创建一个原始的很小的窗口
        JFrame window = new JFrame();
        window.setTitle
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值