Java的三个修饰符:abstract、static、final
一、abstract
- abstract :抽象的。
- 修饰类,public abstract class A;被 abstract 修饰的类称为抽象类,此类不能创建对象,实例化。即 A a = new A( );这个操作是不可以的。
- 修饰方法,public abstract void eat( ) ;被 abstract 修饰的方法称为抽象方法,只有方法声明,没有方法实现。子类继承父类之后,必须重写父类中的所有抽象方法,否则子类还是抽象类。
- 抽象类的作用:(1)可被子类继承,作为一个模板,提供共性的属性和方法。(2)可以声明为引用,更自然的使用多态。
- 抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类。
- 抽象类中可以有构造方法,可以将构造方法交给子类构造方法去调用。
abstract class Animal{
String name;
public Animal() {
}
}
class Dog extends Animal{
public Dog(String name) {
this.name = name;
}
}
二、static
加了static 修饰的属于类,在类加载的时候进行加载,优先于对象。类加载全部是在方法区,在方法区里面,类和属性都只有一份共享的。
实例属性:每个对象各自拥有一份独立的空间,对象单方面修改,不会影响其他对象。
public class Test{
public static void main(String[] args){
Myclass mc1 = new Myclass();
mc1.a = 10;
Myclass