浅谈Java abstract关键字不能和哪些关键字共存
作者:即使再小的船也能远航
本文主要介绍了Java abstract关键字不能和哪些关键字共存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
特点
- abstract可以修饰类,也可以修饰方法;
- abstract修饰的类可以被继承和实现,但是这个类本身不能被实例化;
- 抽象方法必须在抽象类中,抽象类中可以有非抽象的方法;抽象类中可以没有抽象方法,这样做的作用是这个类不可以被实例化;
- 抽象类的子类在继承抽象类后,必须把父类中的抽象方法重写,否则子类也会自动变为抽象类;
- 抽象方法用于被子类继承后重写。即是父类的抽象方法是空的,必须由子类继承之后在子类中由子类实现,这可以达到不同子类可以根据自己的特性来定义自己从父类继承过来的抽象方法;
- abstract修饰的类中的普通方法可以通过该抽象类的子类直接调用。
private ——冲突——abstract 的方法必须被子类重写,而 private 不能被继承
final——冲突——final 修饰的方法,变量都不能修改,而abstract 修饰的方法必须被重写
static——不能共从——无意义,static 是静态的,abstract 方法中无方法体,无法调用
示例代码:
AnimalParent.java
package com.面向对象.Demo27; public abstract class AnimalParent { /** * 1. 我们的abstract关键字 不能够和 private * ∵ 如果抽象方法 改为 private 该方法是无法 被继承 无法被重写 * 2. final 加在类上,意味着类是不能被继承 加在方法上 该方法是无法被重写 * 3. static 该方法是静态方法,可以直接通过"类名.方法" 访问 方法体 * 而抽象方法是没有方法体 具体实现 交给 父类 */ // private abstract void eat(); //abstract // public final abstract void eat(); //final // public static abstract void eat(); //static public abstract void eat(); }
到此这篇关于Java abstract关键字不能和哪些关键字共存的文章就介绍到这了,更多相关Java abstract关键字共存内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!