static讲解

静态与非静态的调用

变量的调用


如图,用类不能调用非静态变量方法,对象.可以

说明静态变量对于类,所有对象(实例)所共享,当直接使用类去调用可以得到说明这个变量是静态

方法的调用


如图,静态方法可以直接调用静态方法,但不能直接调用非静态方法

因为静态方法是和类一起最先加载的,此时非静态方法还没有加载,自然不能在静态方法中直接调用非静态,要先new出类中的非静态方法,再调用,如上图所示

如下图,直接调用非静态方法run是行不通的,报错了

代码块

匿名代码块,静态代码块,构造方法执行顺序

注意

静态代码块只执行一次,其他代码块根据程序内容按照顺序反复执行

如上图,发现“静态代码块”内容只输出了一次,而第二次执行中匿名代码块和构造方法依旧照次序执行。匿名代码块一般可以用于赋初值

一些小知识点

静态导入包


如图,提前导入了java内置的Math方法包,类中可以直接调用Math.方法,不需要再额外使用Math.random()调用随机数生成方法,直接输入random()就好

不能重写的方法

1.static方法:属于类不属于实例

2.final:常量

3.private:私有类不能重写

如图D1402Person类被final修饰,很明显用D1401Student类继承D1402Person类报错了

posted @ 2022-03-30 10:42  无关风月7707  阅读(56)  评论(0编辑  收藏  举报