Java中的抽象(abstract)与static小记录

抽象(Abstract)

//abstract 抽象类
public abstract class Action {
    //约束~有子类帮助实现方法
    //抽象方法,只有方法名字,没有具体实现
    public abstract void doSomething();

    //1、不能new一个抽象类,只能new其子类,约束!
    //2、抽象类中可以写其他方法,抽象方法必须在抽象类中
}
//抽象类的所有方法,继承了它的子类,必须要实现它的方法~
public class A extends Action{
    @Override
    public void doSomething() {

    }
}

static

package AAA.Static;

public class Student {
    private static int age;
    private double score;

    public void run(){

        //可以直接调用静态方法与非静态方法,因为静态(static)方法在类加载时就存在
    }

    public static void go(){
        goo();
        //静态方法只能调用静态方法
    }

    public static void goo(){
    }

    public static void main(String[] args) {
        Student s1 = new Student();

        System.out.println(Student.age);
        //静态变量建议使用类名直接调用
        //因为静态变量对于类而言,在内存中只有一个,是被类中所有实例共享的
        //System.out.println(Student.score);非静态属性不这样调用
        System.out.println(s1.age);
        System.out.println(s1.score);
        //在类里面,静态方法可以直接用类名调用,非静态要new一个对象,每个实例化的对象都有一个对应的非静态变量
    }

}

学习于哔哩哔哩up主-狂神说Java

posted @ 2021-03-16 22:26  x_xian  阅读(29)  评论(0)    收藏  举报