Java中的static关键字

本文详细解释了Java中静态关键字在测试类、静态变量、静态方法、静态代码块以及接口中的使用,包括static修饰main方法的原因,静态变量的初始化机制,以及接口中静态方法的重写规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.测试类中的static
1.1

        测试类的main方法和其他方法都需要static来修饰 main方法处:public static void main(String[] args){}  其他方法处:public static 返回值类型 方法名(参数列表){}

1.2静态变量与静态方法
        1.2.1静态变量

        在JavaBean类中,静态变量是随着类的加载而加载的,且只初始化一次,即使创建多个类的对象也只有最开始那一次会初始化static修饰的变量,并且其优先级高于对象的创建,静态变量存放于堆内存的静态区中。例如:Student类中定义static String teacherName,那么所有实用类中创建对象时的teacherNmae这个变量都是相同的值。在测试类main方法中可以通Student.teacher-Name=“张三”来访问。

        1.2.2静态方法

        静态方法中不能直接访问类的非静态变量(实例变量),因为非静态变量依赖于特定的实例对象。但是非静态的方法既能调用静态的变量也能调用非静态的。静态方法的调用也可以通过类名.静态方法名实现在测试类中的直接调用而不用创建对象。

1.3静态代码块

        代码块作为类的五大部分之一(属性,方法,构造函数,代码块,内部类),而代码块书写在属性之后,能够实现方法中重复代码块的抽出与简写。普通的代码块直接{}中书写,而静态代码块增加了权限修饰符static,形式为static{}。静态代码块也是随着类的加载而加载,只加载一次。静态代码块是针对静态变量的初始化或者对静态方法的代码抽取。例如:

        static int age=0;                                                    static{                                            

        static{                                                                           sout(“这里提取了静态方法中的代码)

                age=18;                                                         }

        }                                                                                static void getage(){.......}

1.4接口中的静态方法

        接口中方法的默认格式是:public default 返回值类型 方法名(){},这种方法在接口的实用类中可以不用重写,而public static 返回值类型 方法名(){},这形式在接口的实用类中必须重写。对于接口中的静态方法在实用类中的调用,可以通过接口名.方法名来访问。

        

        

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值