java学习

java学习

吾有一问,何为属性?

自解之曰:个体,即成员; ( 验证正确)

GUI编程

委托事件处理模型:

  • 事件源:能产生事件的对象,
    注意:特定事件源产生的事件是特定的(预先定义好的),就像收音机只能接受收音机信号,对手机信号无反应;
  • 事件处理者:具备处理特定事件能力的对象,
    注意:事件处理能力通常用接口表示(即接口是能力标签),一个事件处理能力,对应一种接口。此类代表事件处理的接口,常称作侦听器Listener,侦听器中的抽象方法,就是事件处理时自动执行的方法,要成为事件处理者,必须实现对应的侦听器,即实现相关处理方法。
  • 关联,即事件源对象.addXXXListener(事件处理者)。
  • 例:一个简单计算器。

I / O流

线程

  • 线程的构造与运行
    ① 直接继承 Thread 类并重写run方法
    ② 将实现 Runnable 接口类的对象传给Thread 类对象
  • 线程的互斥
    ① 执行、勿扰;执毕、接替。
    ② synchronized (a) { S; } synchronized 标志对象 a(临界资源),S为原子语句,对 a 进行访问(临界区)。
    ③ 实例:银行存取钱
  • 线程的同步
    ① 异步:并发执行;
    同步:有序执行;

异常处理和断言

异常处理机制:

  • Throwable:
    Error
    ②Exception: RuntimeException;

非检查型异常:(可以通过编译,但运行时会出现错误)

  • Error、RuntimeException

检查型异常:(若无throw,try-catch-finally; 无法通过编译。)

  • 类的权限访问
    ① 缺省:只允许包内类访问。
    ② public:访问不受限制。
  • 类中成员的访问权限
    ① private:仅该类自己访问;
    ② 缺省:包内类和包外子类均可访问;
    ③ protected:包内类和包外子类均可访问;
    ④ public:访问无限制。

面向对象语言基础

类、对象、对象的引用


  • ① 类中的内容统称为成员,成员主要包括成员变量和成员方法;
    ② 类是根据名字进行区分

  • 对象
    ① 所有变量(基本型、引用型)均存储于栈空间;所有对象均存储于堆空间。

  • 对象的引用
    空指针引用:引用变量未关联任何对象时,却引用其成员。

类中的成员及其修饰

  • final 修饰
    ① final 修饰类,被修饰类不能派生出子类;
    ② final 修饰变量,被修饰变量称为常量,只能赋值一次;
    ③ final 修饰成员方法,被修饰方法不能被重写。
  • static 修饰
    static 只能修饰类中的成员,不能修饰普通的类。
  • 构造函数的性质
    ① 与类同名,无返回值,且不能用 void修饰;
    ② 系统会默认提供一个构造函数,若自行定义,则不提供;
    ③ 通过 new 指令调用,不能通过引用名调用。
  • 类中的特殊成员
    内嵌类型:定义在类或接口内部,作为成员使用的类或接口;
    初始化块:专门用于初始化对象的语句块,它不同于构造函数;
    本地方法:用本地语言(如 c)编写的方法。

封装、继承、多态、抽象的实现

  • 封装
    ① 打包:用 class 定义机制实现对类中成员的打包;
    ② 隐藏:用权限修饰实现成员的不同隐藏层次。

  • 继承
    ① 超类是所有子类共性的抽象,子类是超类某种个性的发展。
    ② 单继承策略,一个子类只能继承一个父类。

    • is-A 与 has-A
      is-A:对象与类之间的关系;可用于判别对象间的赋值兼容性;
      has-A:类与其成员之间的关系,决定了对象能实施的动作。

    • 在构造子类的对象时,会自动调用超类的构造函数,调用次序与派生次序相同。

      • 子类对象在创建时,定会调用超类的构造函数, 默认时,调用超类的无参构造函数;若超类构造函数有参,则有两种方法解决:
        ① 为超类新增一个无参构造函数(不常用,因为一般不改变超类);
        ② 子类定义自己的构造函数,并在构造函数中借助 super 主动调用超类的构造函数,且 super(…) 必须放在构造函数的第一句。
    • super 和 this
      ① 引用对象自身的或继承来自超类的成员;
      ② 用 this 或 super 调用构造函数;
      ③ 在参数传递时,把 this 指代的当前对象作为实参传给其他方法。

  • 多态

    • 重载:
      ① 在编译阶段就能根据参数类型确定究竟执行哪一方法,即与静态绑定相关的多态,称为重载。
      ② 区分的依据是参数列表,即形参的个数、类型和排列顺序是否一致。
      ③ 用途:实现对象自身行为的一名多用,即同一功能在不同环境下有不同载体。
    • 重写
      ① 要求:同名、同参、相同返回类型。子类方法的存取权限不得小于超类方法的存取权限。
      ② 实质:子类对从继承自超类的特定方法的重新实现。
    • 重定义(不属于多态的范畴)
      即重新定义类中的成员,除名称相同外,方法所需的参数列表、返回类型、属性修饰等、可以完全不相关。
      ① 子类重新定义从超类获得的属性
      ② 子类定义的方法与超类的私有方法或静态方法同名。
      ③ 从用途方面对比重载、重写与重定义
      1)重载:对象在不同环境下的不同功能实现,功能除同名外,无其他关系。
      2)重写:实现一种替换机制,用子类对象自己的特质功能替换超类的通用功能。
      3)重定义:一种全新的定义,没有重载或重写的诸多限制;重定义适用于属性,可以用于屏蔽超类的同名属性。
  • 抽象
    抽象方法用 abstract 修饰,不能有方法体,且约定包含抽象方法的类无法创建对象;
    只有重写类中的所有抽象方法,才能创建对象;

    • 抽象类
      旨在建立抽象类与某派生类之间的契约,是契约的重量级应用方式;
    • 接口
      在任意类之间建立契约,是契约的轻量级应用方式。
  • abstract 修饰
    ① 只能修饰类或类中的成员方法,不能修饰属性;
    ② 被修饰的类称为抽象类,被修饰的方法称为抽象方法;
    ③ 抽象方法不能有方法体,而抽象类不能被实例化,若一类中包含抽象方法,则该类必须是抽象类。
    ④ 抽象方法必须被重写,故其不能修饰最终方法、静态方法或构造函数。

  • 接口
    ① 接口不是类,没有构造函数,也不能实例化出对象;
    ② 接口采用多继承机制,子接口能继承多个接口;
    ③ 接口中的成员变量无论是否用 public、static 和 final 修饰,都有这三个属性,且不可更改;成员方法无论是否用 public、abstract 修饰,都有这两种属性,且不可更改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值