乐趣区

关于java:java基础abstract关键字的使用

abstract 的应用
在 java 中 abstract 关键字用于润饰类和办法

abstract class person{// 润饰类,该类为抽象类
    String name;
    int age;
    
    public abstract void eat() ;// 润饰办法,该办法为形象办法
    public abstract void sleep();
    public void run() {System.out.println("跑步");
    }
}

被 abstract 润饰的特点
1、抽象类
1)抽象类与一般类的不通电在于无奈进行实例化,其余与一般类无异。
2)因为抽象类不能实例化对象,所以抽象类必须被继承,能力被应用。然而如果抽象类中有形象办法,子类中要对形象父类中的所有形象办法进行重写并赋予办法体,子类能力成为能够实例化的一般类;不然子类也只能被 abstract 润饰成为形象子类,无奈实例化。

2、形象办法
1)形象办法没有办法体,
2)领有形象办法的类肯定是抽象类,但抽象类不肯定领有形象办法
3)在子类继承形象父类时,形象办法必须全副被赋予办法体重写能力实例化对象。

abstract 关键字的利用场景总结
形象办法只是申明了一个办法,但不提供具体怎么实现,具体实现由继承的子类负责;而领有一个或者多个形象办法的类就是抽象类。

// 设计抽象类规范
abstract class person{
    String name;
    int age;
    int number;
    public abstract void sum();// 这里规定要用加法
    
    public abstract void count();// 这里规定要数数}
// 依据形象办法的规范填充内容

class stu extends person{public void sum() {// 重写的办法体要填充上加法的具体方法
        number = 1;
        int quantity;
        quantity = number+number;
        System.out.println(quantity);
    }
    public void count() {// 重写的办法体要填充上数数的具体方法
        int quantity;
        quantity = age+age;
        System.out.println(quantity);
    }
}

abstract 关键字的应用留神点
1、abstract 不能润饰公有办法、静态方法、final 的办法;
2、abstract 不能润饰属性、结构器,除了办法和类,都不能润饰;

退出移动版