YDOOK:Java static 静态成员与非静态成员的区别

本文详细介绍了Java中静态成员与非静态成员的使用差异。静态成员(包括变量和方法)可以在不创建对象的情况下直接通过类名调用,而非静态成员则需要先创建对象才能访问。主要讨论了在主函数中如何直接调用静态成员,并通过代码示例展示了调用过程和结果。
摘要由CSDN通过智能技术生成

YDOOK:Java static 静态成员与非静态成员的区别

© YDOOK JY Lin



要点:添加 static 静态关键字后:

同级目录下,主函数可以在不新建对象的情况下,直接调用其他类中的 static 参数,静态成员参数。

同级目录下,主函数可以在不新建对象的情况下,直接调用其他类中的 static 方法,静态成员方法。

同级目录下,主函数可以在不新建对象的情况下,不可以直接调用其他类中的非 static 参数,非静态成员参数。

同级目录下,主函数可以在不新建对象的情况下,不可以直接调用其他类中的非 static 方法,非静态成员方法。


1. 项目结构:

YDOOK


2. 首先定义:JavaClass1.java:

1. valueIsStatic 是静态成员参数;

2. valueNoStatic 是非静态成员参数;

3. staticFun() 是静态成员方法;

4. notStaticFun() 是非静态成员方法;

package Ydook;

public class JavaClass1 {

    public static int valueIsStatic;
    private int valueNoStatic;

    public static void funPrint() {
        System.out.println("This is the funPrint!");
    }

    public static String staticFun() {
        System.out.println("This is the staticFun!");
        String str = "This is the return string! staticFun!";
        return str;
    }
    public  String notStaticFun() {
        System.out.println("This is the notStaticFun!");
        String str = "This is the return string! notStaticFun!";
        return str;
    }

}


3. 则在:JY.java 中直接调用:

YDOOK

只能直接调用静态成员方法与静态成员参数!


5. 测试代码:JY.java :

package Ydook;


public class JY {
    public static void main(String[] args) {
        // main函数入口
        System.out.println("Hello to JY Main()!");

        // 测试静态成员方法
        JavaClass1.funPrint();

        // 测试静态成员方法
        JavaClass1.staticFun();

        // 测试静态成员参数
        System.out.println(JavaClass1.valueIsStatic);
        JavaClass1.valueIsStatic = 1;
        System.out.println(JavaClass1.valueIsStatic);

        System.out.println("-----------------------------------");

        // 新建调用类的对应对象
        JavaClass1 javaClass1 = new JavaClass1();
        // 创建对象,测试静态成员方法
        javaClass1.funPrint();
        javaClass1.staticFun();

        // 创建对象,测试静态成员参数
        System.out.println(javaClass1.valueIsStatic);
        javaClass1.valueIsStatic = 1;
        System.out.println(javaClass1.valueIsStatic);


    }
}

6. 运行结果:

D:\SDK\bin\java.exe "-javaagent:D:\IDEAU\IntelliJ IDEA 2020.3.2\lib\idea_rt.jar=61239:D:\IDEAU\IntelliJ IDEA 2020.3.2\bin" -Dfile.encoding=UTF-8 -classpath E:\SpringBoot\ydookjava\out\production\ydookjava Ydook.JY
Hello to JY Main()!
This is the funPrint!
This is the staticFun!
0
1
-----------------------------------
This is the funPrint!
This is the staticFun!
1
1

Process finished with exit code 0




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值