一、abstract可不可以 与 final private static共存?
1.abstract 和 static 不能一起使用
因为static修饰的成员方法多了一种调用方式: 类型.成员名 。静态(static)与类有关和对象无关,调用抽象方法并不存在实际意义,所以两者不能一起使用。
2.abstract 和 final 不能一起使用
被final修饰的成员方法无法再在子类中被重写,而abstract修饰的成员方法要求在子类中必须重写,两者自相矛盾,所以不行。
3.abstract 和 private 不能一起使用
被private修饰的成员无法被子类继承,何来重写一说?
二、static final abstract的区别
1.static
属性: 共有的 通过类名直接调用
方法: 共有的 通过类名直接调用
特点:static修饰的静态成员方法中不能含有this和super关键字
只能直接调用静态成员,而不能直接非静态(可以通过创建静态调用非静态成员)
2.final
属性:被final修饰的成员属性或者局部变量,会最终变为常量
方法:被final修饰方法将不能在子类中被重写
类:被final修饰的类将无法被继承
3.abstract
方法:被abstract修饰的方法称为抽象方法,抽象方法只能放在抽象类中,想要使用,必须在子类中进行重写(构造方法将不能被abstract修饰)static方法,不能被abstract修饰
类:抽象类不能被实例化,但是抽象类中含有构造方法,抽象类中可以有抽象方法和非抽象方法