抽象类
抽象类概念:描述不是特别清楚的类,当你对一个方法描述不清的时候就可以把该方法声明成 抽象方法
使用关键词 abstract修饰
注意事项
1.有抽象方法的类必须声明成抽象类
2.抽象类中除了抽象方法还可以有其他的方法
3.抽象类不能直接创建对象
4.强制继承的子类重写抽象方法
5.使用多态的形式创建 子类
抽象类中除了抽象方法还能有什么?
1.可以有变量 常量
2.可以有构造方法
3.可以有抽象方法和成员方法
* abstract 关键词与那些关键词不能共存?
* privat 修饰方法 只能本类访问 抽象类强制子类去重写抽象方法 访问不到,导致无法重写
* final 修饰类的时候 不能被继承 抽象需要一个子类去实现抽象类的实现 修饰方法 方法不能被重写
* static 修饰抽象方法 就能使用类名去调用 抽象方法是没有实现部分的 ,不能直接去调用
抽象类书写代码:
Animal aCat=new Cat(); aCat.speak();
abstract class Animal { int num=0; final int a=12; public Animal() { System.out.println("我是无参的构造方法"); } // 声明一个抽象方法 public abstract void speak(); public void fun() { System.out.println("我是fun方法"); }; } // 抽象类的子类 class Cat extends Animal { @Override //子类重写父类的 抽象方法 public void speak() { System.out.println("猫在叫"); }运行结果: