JAVA迅猛式语法总结(十二)

7. Static详解

Static顾名思义静态的意思,作为一个修饰词,可以修饰方法、修饰属性,可以定义类变量。

注意:非静态方法可以调用静态方法,但静态方法不可以调取非静态方法,这是因为渲染时间不同,静态方法先于非静态方法。

静态代码块:

public class Person{
    {
        System.out.println("匿名代码块");
    }
    
    static{
        System.out.println("静态代码块");
    }
    
    public Person(){
        System.out.println("构造方法");
    }
    public static void main(String[] args){
        Person person = new Person();
    }
}

我们会发现,执行顺序是静态代码块—匿名代码块—构造方法,其中静态代码块只会在new第一个对象时执行。一般匿名代码块可以用来初始化

和静态很相似的一个注意点:

static修饰import时可以静态导入包:

import static java.lang.Math.random;
import static java.lang.Math.PI;
public class Test {
    public static void main(String[] args) {
        System.out.println(random());
        System.out.println(PI);
    }
}

此时可以直接调用包内的方法,不需要加前缀Math.random()

提到了Math包,有一点也有点静态的意思,在Math包中,有一个fina修饰词,被它修饰过的类不能被继承,又称”太监类“。

8. 抽象类

由abstract修饰的类称为抽象类,其作用类似于接口,但仍然有局限性。

public abstract class Action {
    public abstract void doSomething();
}


public class A extends Action{
    @Override
    public void doSomething(){
        System.out.println("hahaah");
    }
}

注意几点:

  1. 抽象类不能使用new关键字调用抽象类。
  2. 抽象类的抽象方法也需要用abstract关键字修饰。
  3. 抽象类的方法只能有子类重写来使用。
  4. 抽象类中也能有非抽象方法,但也只能被继承后使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值