package com.lbj.javase16;
/**
*
* 1.如何定义抽象类?
* class关键字前面加abstract
*
* 2.抽象类无法被实例化
*
* 3.虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造方法是给子类创建对象用的
*
* 4.抽象类中可以定义抽象方法
* 抽象方法的语法:
* *在方法的修饰符列表中添加abstract关键字,并且抽象方法应该以";"分号结束,不能带有"{}"大括号
* 例如:public abstract void m();
*
* 5.如果一个类本身不是抽象的,那这个类就不可以拥有抽象方法,如果写了,编译不会通过
* 反之,抽象类中可以出现抽象方法,也可以不出现抽象方法
*
* 注意:抽象方法必须出现在抽象类中
*
*
* 6.一个非抽象的类继承抽象类,必须将抽象类中的抽象方法覆盖,实现,重写
*
* 7.抽象类本来就是要被继承去使用的,不继承的话没作用
* @author 14811
*
*/
public abstract class A {
//构造方法
A(){
System.out.println("a..");
}
public abstract void m1();//不可以加{},因为抽象方法不能有主体
//程序入口
public static void main(String[] args) {
// TODO Auto-generated method stub
//抽象类无法创建对象
//A a=new A();
}
}
class B extends A{
//这里是覆盖父类中的m1()方法
public void m1(){
}
B(){
super();//父类的构造方法虽然调用了,但是并没有创建父类对象
System.out.println();
}
}