多态(多种状态)
首先说一下重载的分类。分为重载与重写
先说说重载:
在同一个类中,要求方法的名称相同,参数的个数,顺序,类型至少有一个不同
那么再说说重写:
在父子类继承关系中,父类无法满足子类的需求时,那么我们需要重写该方法,
要求;方法的名称相同,参数相同(个数,顺序,类型),返回值相同;子类的访问权限不能小于父类;子类不能抛出比父类更多的异常,但可以是父类异常的子异常
这些我之前就已经说过了但还是要说的,因为重载和重写本来就是多态的表现,
多态!就是多种状态
除了这俩个还有俩就是创建对象时的状态,
名曰:实现类创建接口对象
接口的特点:
(1)特殊的抽象类
(2)所有的方法都是抽象的,公共的,默认的是public abstract
(3)属性默认是public static final修饰的,必须赋初始值
(4)接口与类之间的关系是类实现接口
(5)一个类实现了该接口,那么必须重写该接口中的所有方法
(6)一个类可以实现多个接口,但只能继承一个类
(7)接口不能实例化
那它的格式又是什么那?
格式:
接口 对象名 = new 实现类();
在这个对象中可以使用的方法只能是接口中含有的方法
简单点说就是,接口里面有的实现类里面一定有!!!
第四个:创建类的子类得到父类对象
抽象类的特点:抽象类的特点,当一个类继承抽象类,那么这个类需要重写抽象类中的所有抽象方法,抽象类中可以有普通方法,可以有抽象方法
抽象方法的特点:抽象方法没有方法体,抽象方法只能存在于抽象类中
它的格式:
父类 对象 = new 子类();
可以通过new子类来使用父类中的方法 在这个对象中可以使用的方法,都是父类中的方法
就这么多,这节基本上没什么其他的东西
异常
这是它的一个等级结构,(我是借用别处的图来用的)
首先咱先说说Error
Error 翻译过来就是错误。
在程序运行过程中出现的无法解决的错误
最常见的是:内存溢出
什么叫内存溢出?就是内存不足了。。。。这个问题是代码无法解决的,所以是无法解决的错误
而exception恰恰相反
是在程序运行过程中出现的可以解决的问题
是你自己写错的错误
如果是你写的没错,但运行出错,这叫异常
异常分为:
一般异常(受控异常)
运行时异常:RuntimeException(非受控异常)
那什么是一般异常?
就是在代码编译过程中,得到可能出现异常的位置,必须解决后才能编译通过
一般异常有很多:
1.IOException : Io流异常
2.FileNotFoundException:文件未找到异常
3.EOFException:读写文件尾异常
4.MalformedURLException:URL格式错误异常
5.SocketException:Socket异常
6.SQLException sql异常
7.ParseException 日期格式转换异常
那什么是运行时异常?
就是在代码运行中出现的错误,是不受我们控制的,因为除了电脑知道什么时候报错外,谁也不知道它什么时候会报错。
运行时异常有很多
如:
a)ArrayIndexOutOfBoundsException数组下标越界异常
b)IndexOutOfBoundsException下标越界异常
c)StringIndexOutOfBoundsException字符串下标越界异常
d)ArithmeticException数学计算异常
e)NullPointerException空指针异常
f)NumberFormatException数字格式化异常
那怎么解决异常那?
一,捕获!!!
try catch格式:
try(就是试试看的意思)
try{
可能出现异常的代码块
}catch(异常的类型){
异常的解决方式
}
//一般如下:
try {
可能会出现
} catch (Exception e) {
e.printStackTrace();
}
这个捕获的作用就是当你出现错误时不再显示你错误错到哪了。
会显示你自己提前显示准备好的字!
这就是捕获
当然,你可以把捕获写到开头,把整个代码都包住!!!
当然了,这样不是不可以,只是不建议而已
如:
二,throws 抛出,声明异常
一般在方法的()后面声明异常一个,一般情况下,我们会将异常抛出给main方法
注意,在main方法中必须使用try,,catch块解决
就这么多。。。
没了。。。。