static
普通用法(本类里面写的main方法,可以之间调private)

通过类来调用

不能调用score

因为score是非静态字段

推荐使用类名访问字段(如果字段是静态的)
直接调用方法调不了

必须new一个对象

或者这样

但如果是静态方法

甚至可以这样(因为它在当前这个类里面)

非静态方法可以直接访问静态方法

而静态方法可以调静态方法,但不能直接调用普通方法
前面讲过,static跟类一块加载,可以直接调,对象的方法不存在没法调
注意:main方法是static方法

静态代码块

执行顺序

再new一次


发现静态代码块没了
因为在类加载的时候永久执行一次
匿名代码块的作用:

新特性
Math类中有一个方法叫random(),可以输出随机数

如果不想写 Math. 怎么办呢
可以import导入Math类,甚至可以导入方法

为了不报错,前面加上static

还可以导入常数

进入Math类,里面有个关键字叫final(常量修饰符)
通过final修饰的类不能被继承(没有子类)

举例-->断子绝孙符

抽象类

我写了抽象类,其中的抽象方法我不想实现,我就可以只写一个方法名,方法体交给别人在子类中去实现


抽象类是一种约束,本质是类,需要去继承,逃脱不了extends,有局限性,单继承------>接口可以多继承
特点:


只能new他的子类对象



一旦类里面存在了抽象方法,那这个类必须是抽象类


抽象类存在构造器吗?
存在,查看class文件发现

抽象类存在的意义:提高开发效率
来源:b站狂神
浙公网安备 33010602011771号