方法的调用

-
静态和非静态方法的一些用法
![image]()
![image]()
-
值传递和引用传递
![image]()
类与对象创建
- this关键字,在类中,代表类名
- 调用对象的属性和方法
类中构造器
- 一个类什么都不写也会存在一个方法
- 构造方法必须和类的名字相同,必须没有返回类型,也 不能写void
- 构造器会实例化初始值;使用new关键字,本质是调用构造器
- alt+insert自动生成构造器
注意:定义有参构造后,如果想使用无参构造,必须显式的定义一个无参构造
![image]()
封装
- 高内聚,低耦合
- 属性私有
private - 用get/set
- alt+insert可以生成封装
![image]()
继承
- extends 扩展,子类是父类的扩展
- object是所有类的父类
- java只有单继承没有多继承
super详解
- super调用父类的构造方法,必须在构造方法的第一个
- super必须只能出现在子类的方法或者构造方法中
- super和this不能同时调用构造方法
vs this
- 代表的对象不同:
- this:本身调用者这个对象
- super:代表父类对象的应用
- 前提不同:
- this:没有继承也可以使用
- super:只能在继承条件下使用
- 构造方法不同:
- this();:调用本类的构造
- super();:调用父类的构造
- 属性
![image]()
![image]()
- 方法
![image]()
![image]()
- 构造
![image]()
![image]()
方法重写
- 重写:需要有继承关系,子类重写父类的方法
- 方法名必须相同
- 参数列表必须相同,方法体不同
- 修饰符:范围可以扩大,不能缩小,public>Protected>Default>private
- 抛出异常:范围,可以被缩小,但不能扩大
![image]()
![image]()
- 为什么需要重写
- 父类功能,子类不一定需要或者不一定满足
- alt + Insert : override;
多态
- 多态是方法的多态,属性没有多态
- 父类和子类,有联系 类型转换异常
- 存在的条件: 继承关系 ,方法需要重写,父类的变量名指向子类对象 father f1 = new Son();
- static方法属于类,不属于实例;final 常量;private 方法;无法重写
instanceof和类型转换
- instanceof判断两个类有没有父子关系,要求两个类有包含关系
![image]()
![image]()
![image]()
- 类型转换
- 父类引用指向子类对象
- 向上转型 把子类转换为父类 自动转换
- 向下转型 把父类转换为子类 强制转换
- 方便方法的调用,减少重复代码,简洁
![image]()
static关键字详解
抽象类
public abstract class Action{}
public abstract void doSomething();可以没有方法体,由子类去实现
- 类是单继承,接口可以多继承
- 不能new抽象类,只能靠子类去实现;是一种约束
- 抽象类中,可以写普通的方法
- 抽象方法必须在抽象类中
接口是特殊的抽象类

- 接口的作用
- 约束
- 定义方法,让不同的人实现
- 方法:public Abstract
- 常量:public static final
- 接口不能被实例化,因为不是类,没有构造方法
- implements可以实现多个接口
- 必须要重写接口中的方法
内部类
- 类的内部再定义类
- 多线程
![image]()
异常机制
- Error和Exception
捕获和抛出异常
- ctrl + alt + t快捷键生成异常捕获代码块
![image]()


















