java语言基础--抽象类
抽象:
抽象类:abstract修饰的类
抽象方法:abstract修饰的方法
举个栗子:
https://www.cnblogs.com/dssjustdoit/articles/9482207.html
在这个文章中,我可以修改Car.class作以下修改,一样可以执行;
public abstract class Car { public abstract void run() ; //在这里就是作为一个规范 }
抽象类
- 抽象类无法被实例化,无法创建抽象类的对象。
- 虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造方法是给子类创建对象用的。这也算是多态的一种。
- 抽象类中不一定有抽象方法,但抽象方法必须出现在抽象类中。
- 抽象类中的子类可以是抽象类,如果不是抽象类的话必须对抽象类中的抽象方法进行重写。
- 抽象类和抽象方法不能被final修饰
举个栗子:
public abstract class Main { public abstract void m1(); public Main() { System.out.println("Main中的构造方法"); } public static void main(String[] args) { Main m = new Main2(); //在这里创建Main2的对象,那么就会首先调用里面的构造方法,即调用Main2()方法 m.m1(); } } class Main2 extends Main { public void m1() { System.out.println("Main2 中的m1"); } public Main2() { super(); System.out.println("Class Main2"); } }
打印结果:
Main中的构造方法
Class Main2
Main2 中的m1
浙公网安备 33010602011771号