在Java中,比较常见的static的使用场景是类的静态属性、静态方法,静态块和静态内部类。
1. 类的静态属性和静态方法被static关键字修饰的属性和方法,被成为类的静态属性和静态方法。在Java中,关于静态属性和方法,是存在约束的。
静态方法可以直接使用该类的静态属性,但是不能使用该类的非静态属性。
静态方法可以直接使用该类的静态方法,但是不能使用该类的非静态方法。
可以看到,在类的静态方法中使用非静态属性和非静态方法,是会报错的。
2. 静态块静态块,就是用static关键字修饰的代码块{}。在执行顺序上,静态块会优先于普通代码块。并且静态块只执行一次。
首先介绍一下普通内部类。内部类即是在类的内部定义的类。内部类方法可以访问外围类的数据(包含私有数据),内部类可以对同一个包中的其他类隐藏。经过编译之后,包含内部类的类会生成多个class文件,内部类对应的class文件的命名格式为外围类$内部类.class
。在内部类中,默认访问内部类自己的方法或者属性。如果需要访问外围类的同名属性或者方法,需要使用this关键字。内部类对象的初始化语法是内部类 对象名 = 外部类.new 内部类();
。
静态内部类与内部类的区别很简单,是静态的,所以不存在this关键字。所以如果内部类中不需要引用外围类的对象的话,就可以将这个内部类定义为静态的。静态内部类的初始化语法与普通类相同。
点击查看更多内容
4人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦