方法重载(@Overload)
public class User {
String name;
Integer age;
public User() {
}
public User(Integer age){
}
}
方法重载条件
1.方法名称必须相同。
2.参数列表不同(个数/类型不同,参数类型排列顺序不同等)。
3.只是返回值类型不同不足以成为方法重载。
4.重载发生在编译时,编译器在在编译时根据参数类型选择方法。
方法重写(@Override)
主要描述对子类与父类之间的。
public class User { //父类
public void eat(){
System.out.println("我胃口好");
}
}
public class Yest extends User { //子类
@Override
public void eat() {
System.out.println("我啥都吃");
}
}
方法重写原则:
1.重写的方法名必须与父类保持一致,包括(参数类型,返回值类型,参数列表)。
2.可以使用@Override来标识。
3.子类重写方法的访问权限不能低于父类
包装类
基本类型的数据不具备"对象"的特性(没有成员变量和成员方法可以调用),因此,java为每种数据类型分别设计了对应的类,即包装类。
byte ---->Byte
short ---->Short
int ---->Integer
long ---->Long
char ---->Character
float ---->Float
double ---->Double
boolean ---->Boolean
(1)所有包装类都是final类型,因此不能创建他们的子类。
(2)包装类是不可变类,一个包装类的对象自创建后,他所包含的基本类型数据就不能被改变。
拆箱和装箱
异常
老师的图:
public class Demo111 extends RuntimeException{ //运行时异常
public Demo111(String msg){
super(msg);
}
public static void main(String[] args) {
try {
throw new Exception("2---------2");
} catch (Exception e) {
e.printStackTrace();
}finally {
System.out.println("===================");
}
} // try…catch
//异常不会上报,自己把这个事儿处理了。
//异常抛到此处为止,不再上抛了。
}
public static void main(String[] args) throws Exception{
throw new Exception(); //throws
}
}
//throws
//在方法声明的位置上使用 throws 关键字抛出,谁调用我这个方法,我就抛给谁。抛给 调用者 来处理。
//这种处理异常的态度:上报。
注意:
1.只要异常没有捕捉,采用上报的方式,此方法的 后续代码不会执行。
2.try语句块中的某一行出现异常,该行 后面的代码不会执行。
3.try…catch捕捉异常之后,后续代码可以执行。