第二十六天

学会了抽象类和抽象方法的使用

明天学习第六章

一、 abstract关键字

abstract class 类名{}

示例:抽象类

public abstract class Type{
}

二、 抽象方法

abstract修饰方法,表示该方法时抽象方法,但前提该类一定是抽象类。抽象方法只声明方法头,没有方法体。

public abstract class Type{
public abstract double area();
}

抽象类中除了有抽象方法,还可以有具体的实现方法。

public abstract class Type {
    public abstract double area();
    public void info() {
        System.out.println("我是图形");
    }
}
public class Circle extends Type{
    private static final double PI=3.14;
    private int r=5;
    @override
    public double area() {
        double area=PI*r*r;
        return area;
    }
    public static void main(String[] args) {
        Type type=new Circle();
        type.area();
        type.info();
    }

总结:
(1)抽象类中既有抽象方法,也有非抽象方法
(2)有抽象方法的类一定是抽象类
(3)抽象类中不一定有抽象方法。

************

@override的作用:

@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处:
1、可以当注释用,方便阅读;
2、编译器可以给验证@Override下面的方法名是否是父类中所有的,如果没有则报错。例如,如果没写@Override,但是下面的方法名又写错了,这时编译器是可以编译通过的,因为编译器以为这个方法是子类中自己增加的方法。

**************

sataic表示这个变量是这个类的全体对象所共享的,一旦通过其中某个对象的引用去改变这个变量则其他对象再次引用这个变量时,得到的值也随之改变,因为所有的对象引用的其实是同一个内存地址的东西。而final则表示一旦定义了这个变量的值就不能再改变了,就是常量了。final和static表达的含义不同,二者并不冲突

posted @ 2020-07-31 12:48  yasai  阅读(88)  评论(0)    收藏  举报