Java面向对象
super的使用
-
当子类和父类有相同的方法或者变量时,若子类要调用父类的该方法,则使用super关键词进行调用
具体使用为 super.变量名(方法名)
-
若子类要调用父类的默认构造方法直接使用super即可调用,且必须要在子类构造方法的第一行,**super(参数)**即可调用其他的构造方法
-
super和this不能同时调用构造方法
方法的重写
方法名和参数列表必须相同,方法中的内容不同
重写的原因:父类的方法,子类不一定需要,或者不一定满足
生成子类重写快捷键:Alt+Insert;override
多态
-
一个对象的实际类型是确定的,但可以指向的引用就不确定了,如父类的引用可指向子类。
-
子类能调用的方法都是自己的或者继承父类的方法。
-
而父类的引用可以指向子类,但是不能调用子类的独有的方法。
-
若子类重写了父类的方法,则父类的引用为子类对象,则调用子类重写的该方法。
instance-of
判断变量类型,返回 true or false
格式:变量名 instanceof 类型
static关键字详解
带static关键字的函数优先执行,不能调用无static关键字的函数,但无static关键字的函数可调用static关键字的函数
带static关键字的变量为一般变量,而不带static关键字的变量为类的成员变量
自定义异常
MyException.java
package com.chen;
public class MyException extends Exception {
private final int detail;
public MyException(int a){
this.detail=a;
}
public String toString(){
return "异常"+"{"+detail+"}";
}
}
Demo01.java
package com.chen;
public class Demo01{
public static void test(int a) throws MyException {
if (a>10){
throw new MyException(a);
}
}
public static void main(String[] args) {
int a=11;
try {
test(a);
}catch (MyException e){
System.out.println("异常=>"+e);
}
System.out.println("ok");
}
}