1、什么是面向对象
万事万物皆为对象
2、对象和类的关系
类是用来描述对象的
对象是根据类来创建的
3、创建对象的格式
类名 对象名 = new 类名();
类名 对象名 = new 构造函数([参数]);
引用类型 引用对象 = new 实际类型([参数]);
4、什么是构造函数,有什么用
是一个特殊的函数
与类名相同,无返回值类型
初始化对象
5、重写和重载的区别
重写:继承关系下,子类中的方法与父类中的方法名相同
参数列表相同,返回值类型相同
重载:同类中,方法名相同,参数列表不同,返回值类型
可同可不同
6.static静态:共享
用static修饰的属性和方法叫做静态属性和静态方法
调用:类名.属性/类名.方法名([参数]);
//静态代码块 优先执行
static{
代码块;
}
7.抽象abstract:
抽象方法:方法定义,没有方法的实现
抽象类:用abstract修饰的类就是抽象类
抽象类中可以有普通方法,也可以有抽象方法
抽象类不能实例化对象,但是可以做引用类型
8.接口interface:也叫做协议,比抽象更抽象-因为它比抽象类更纯粹
接口不是类
接口中只能有抽象方法 和 静态常量
接口可以继承接口,而且可以多继承
接口不能实例化对象,但是可以做引用类型
接口 引用对象 = new 实现类();
接口用来定义方法,类来实现接口中的方法
实现关键字:implements
public class 类名 implements 接口{
}
一个类可以同时实现多个接口
public class 类名 implements 接口1,接口2..{
}
9.异常Exception:异常不是错,是意外
异常分类
运行异常(未检查异常):可处理,可不处理
RuntimeException以及子类都为运行异常
编译异常(检查异常):必须处理
Exception以及子类(不包括RuntimeException)都是编译异常
异常处理
两种处理方式:
1、抛出异常 throws
在方法名后 抛出 throws 异常类型
2、try。。。catch处理
try{
可能出现异常的代码块;
}catch(异常类型 异常对象){
//异常处理
}finally{//可以没有finally
//保证必须执行的代码
}
自定义异常
定义异常:
1、创建类 继承异常类
2、通过构造函数 构造新的异常信息
使用自定义异常:
throw 异常对象
常见异常:
ArithmeticException:算术异常
ArrayIndexOutOfBoundsException:下标索引越界
NullPointerException:空指针异常(对象是空的)
ParseException:解析异常