多态
Per类
package Demo06;
public class Per {
public void run(){
System.out.println("PER RUN");
}
}
Stu
package Demo06;
public class Stu extends Per {
public void run(){
System.out.println("STU RUN");
}
public void test(){
System.out.println("jj");
}
}
Main
package Demo06;
public class Main {
public static void main(String[] args) {
Stu stu = new Stu();
stu.run();
Per per = new Stu();
per.run();
((Stu)per).test();
}
}
多态的前提:
1、继承关系
2、如果子类没有重写父类的方法,则根据数据类型不同,调用的不同的方法
3、如果子类重写了父类的方法,则只运行子类的方法
4、final、pravate、statiate不能被重写
静态代码块
1、静态代码块与类一起加载//1
2、public 构造函数,加载完成后,在加载构造函数
package Demo06;
public class test {
static {
System.out.println("静态代码块");
}
public test() {
System.out.println("我是构造函数");
}
public void add(){
System.out.println("1");
}
public void app(){
System.out.println("2");
}
public static void main(String[] args) {
test test = new test();
test.add();
test.app();
}
}
// ================
静态代码块
我是构造函数
1
2
抽象类
abstract 抽象类,可以继承时报错,子类必须重写父类的方法即可
package Demo06;
public abstract class Action {
public abstract void something();
}