方法的调用

image


  • 静态和非静态方法的一些用法
    image
    image

  • 值传递和引用传递
    image

类与对象创建

  • this关键字,在类中,代表类名
  • 调用对象的属性和方法

类中构造器

  1. 一个类什么都不写也会存在一个方法
  2. 构造方法必须和类的名字相同,必须没有返回类型,也 不能写void
  3. 构造器会实例化初始值;使用new关键字,本质是调用构造器
  4. alt+insert自动生成构造器
    注意:定义有参构造后,如果想使用无参构造,必须显式的定义一个无参构造
    image

封装

  • 高内聚,低耦合
  • 属性私有private
  • 用get/set
  • alt+insert可以生成封装
    image

继承

  • extends 扩展,子类是父类的扩展
  • object是所有类的父类
  • java只有单继承没有多继承

super详解

  1. super调用父类的构造方法,必须在构造方法的第一个
  2. super必须只能出现在子类的方法或者构造方法中
  3. super和this不能同时调用构造方法

vs this

  1. 代表的对象不同:
  • this:本身调用者这个对象
  • super:代表父类对象的应用
  1. 前提不同:
  • this:没有继承也可以使用
  • super:只能在继承条件下使用
  1. 构造方法不同:
  • this();:调用本类的构造
  • super();:调用父类的构造
  • 属性
    image
    image
  • 方法
    image
    image
  • 构造
    image
    image

方法重写

  • 重写:需要有继承关系,子类重写父类的方法
  1. 方法名必须相同
  2. 参数列表必须相同,方法体不同
  3. 修饰符:范围可以扩大,不能缩小,public>Protected>Default>private
  4. 抛出异常:范围,可以被缩小,但不能扩大
    image
    image
  • 为什么需要重写
  1. 父类功能,子类不一定需要或者不一定满足
  2. alt + Insert : override;

多态

  1. 多态是方法的多态,属性没有多态
  2. 父类和子类,有联系 类型转换异常
  3. 存在的条件: 继承关系 ,方法需要重写,父类的变量名指向子类对象 father f1 = new Son();
  4. static方法属于类,不属于实例;final 常量;private 方法;无法重写

instanceof和类型转换

  • instanceof判断两个类有没有父子关系,要求两个类有包含关系
    image
    image
    image
  • 类型转换
  1. 父类引用指向子类对象
  2. 向上转型 把子类转换为父类 自动转换
  3. 向下转型 把父类转换为子类 强制转换
  4. 方便方法的调用,减少重复代码,简洁
    image

static关键字详解

抽象类

public abstract class Action{}
public abstract void doSomething();可以没有方法体,由子类去实现

  • 类是单继承,接口可以多继承
  • 不能new抽象类,只能靠子类去实现;是一种约束
  • 抽象类中,可以写普通的方法
  • 抽象方法必须在抽象类中

接口是特殊的抽象类

image

  • 接口的作用
  1. 约束
  2. 定义方法,让不同的人实现
  3. 方法:public Abstract
  4. 常量:public static final
  5. 接口不能被实例化,因为不是类,没有构造方法
  6. implements可以实现多个接口
  7. 必须要重写接口中的方法

内部类

  • 类的内部再定义类
  • 多线程
    image

异常机制

  • Error和Exception

捕获和抛出异常

  • ctrl + alt + t快捷键生成异常捕获代码块
    image

自定义异常