abstract关键不能和哪些关键字共存?
/*
一个类如果没有抽象方法,可不可以定义为抽象类?
可以
如果可以,有什么意义?
橙汁,水,牛奶等这些东西用共同的特点,我们把这些相同的特点概念归结成一个类
假设叫做液体。
至于后面有没有抽象方法,取决于这些东西有没有相同的行为。如果说有着相同的本质,但是没有
实际的共同的行为,也可不写抽象方法,这样也是合情合理的。
1、抽象类中可以没有抽象方法
2、抽象类不能被实例化
抽象类中可以存在哪些关键字?abstract关键不能和哪些关键字共存?
private
final
static
*/
abstract class Liquid{
// 抽象类的构造方法中可以写super(),那抽象类的父类是谁呢?
// java中所有类都有一个共同的父类:Object
// Liquid(){
// super();
// }
//abstract关键字可以和public关键字共存
public abstract void show();
// abstract关键字和private关键字冲突
// 因为我写抽象方法的目的就是为了继承和重写,而private关键字修饰的不能被继承。
// private abstract void show1();
// abstract关键字和final关键字冲突
// 因为我写抽象方法的目的就是为了继承和重写,而 final 关键字修饰的不能被重写。
// final abstract void show2();
// abstract关键字和 static 关键字冲突
// 因为我写抽象方法的目的就是为了继承和重写,而 static 关键字修饰的算不上被重写。
// static abstract void show3();
//抽象类中可以有静态成员方法
public static void show4(){
System.out.println("这是父类中的静态方法");
}
}
//class Milk extends Liquid{
//可以用具体的类去继承抽象类
//}
public class AbstarctSiKao {
public static void main(String[] args) {
//抽象类不能被实例化
// Liquid l = new Liquid();
//可以用具体的类去继承抽象类
// Liquid l = new Milk();
//可以直接通过类名调用
Liquid.show4();
}
}