十八、Java基础之抽象类
一、抽象类
1.如何定义抽象类:class关键字前加abstract
2.抽象类无法被实例化
3.虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造方法是给与子类创建对象调用
4.抽象类中可以定义抽象方法: 抽象方法的语法:在方法的修饰符列表中添加abstract关键字,并且抽象方法一“;”结束,不能带有{}
5.抽象类中不一定有抽象的方法,但是抽象方法中必须出现在抽象类中
6.个非抽象类继承抽象类,必须将抽象类中的方法覆盖,实现,重写
例子:
//抽象类 public abstract class Test01 { //constructor Test01(){ System.out.println("Test01...."); } //抽象方法 //public abstract void m1(){};// 抽象方法不能有主体 public abstract void m1(); public static void main(String[] args){ //抽象类无法创建对象,无法实例化 //Test01 t=new Test01();//com.study.抽象类.Test01是抽象的; 无法实例化 //多态 Test01 t=new B(); } } //B继承Test01,继承Test01中所有的方法,因而继承了Test01中的抽象方法 class B extends Test01{// 如果下方不出现抽象方法的重写,会报错:com.study.抽象类.B不是抽象的, 并且未覆盖com.study.抽象类.Test01中的抽象方法m1() //父类中抽象方法的重写 public void m1(){ System.out.println("父类中抽象方法重写"); }; //constructor B(){ super();//父类的构造方法虽然调用了,但是并没有创建父类对象。 System.out.println("B...."); } }
当有些人一出生就有的东西,我们要为之奋斗几十年才拥有。但有一样东西,你一辈子都不会有,那就是我们曾经一无所有。