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

 

posted on 2018-08-15 18:00  董大志  阅读(78)  评论(0)    收藏  举报

导航