基础第一阶段day09——抽象类中可以有哪些内容

public abstract class Animal {	//抽象类
      public abstract void method();	//抽象方法
}	
public class Dog extends Animal {
    @Override
    public void method() {
        System.out.println("方法覆盖重写");
    }
}

抽象类中可以有哪些内容

抽象类

public abstract class Animal {
//1:可以有抽象方法
    public abstract void method();
    
//2:可以有成员方法
	public void method2() {
    }

//3:可以有静态方法
    public static void method3() {
    }

//4可以有静态代码块
    static {
    }
    
//可以有普通成员变量,私有成员变量,静态变量
    int num1 = 10;
    private int num2 = 20;
    static int num3=30;

//构造方法
 	public Animal() {
    }
    public Animal(int num1, int num2) {
        this.num1 = num1;
        this.num2 = num2;
    }

//私有成员变量的外访问方法
    public int getNum2() {
        return num2;
    }

    public void setNum2(int num2) {
        this.num2 = num2;
    }
}

抽象类子类

public class Dog extends Animal {
    @Override
    public void method() {
    }

	public Dog() {
    }

    public Dog(int num1, int num2) {
        super(num1, num2);
    }
}

测试类

public class Test {
    public static void main(String[] args) {
        Dog dog = new Dog(10,10);
        dog.method();//子类重写的抽象方法
        dog.method2();//父类成员方法
        Animal.method3();//父类静态方法

        System.out.println(dog.num1);//普通成员变量
        System.out.println(dog.getNum2());//私有成员变量
        System.out.println(Animal.num3);//静态变量
    }
}

版权声明:本文为qq_43775310原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。