• 技术文章 >Java >Java入门

    java中什么是静态的对象和方法

    王林王林2019-11-20 11:34:09原创1872

    什么是静态变量

    Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。

    使用 static 可以修饰变量、方法和代码块。

    public class Test1 {
        // static修饰的变量为静态变量,所有类的对象共享hobby
        static String hobby = "Tedu";
        
        public static void main(String[] args) {
            // 静态变量可以直接使用类名来访问,无需创建对象
            System.out.println("通过类名访问hobby:" + Test1.hobby);
            // 创建类的对象
            Test1 t1 = new Test1();
            // 使用对象名访问静态变量
            System.out.println("使用对象名访hobby:" + t1.hobby);
            // 使用对象名的形式修改静态变量的值
            t1.hobby = "cjj";
            // 再次使用类名访问静态白变量,值已经被修改
            System.out.println("通过类名访问hobby:" + Test1.hobby);
        }
    }

    运行结果:

    通过类名访问hobby:Tedu
    使用对象名访hobby:Tedu
    通过类名访问hobby:cjj

    注意:静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收!

    什么是静态方法

    与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。其实之前我们一直写的 main 方法就是静态方法。

    public class Test01 {
        //使用static关键字声明静态方法
        public static void print() {
            System.out.println("欢迎你:Cjj!");
        }
        public static void main(String[] args) {
            //直接使用类名调用静态方法
            Test01.print();
            //也可以通过对象名调用,当然更推荐使用类名调用
            Test01 t1 = new Test01();
            t1.print();
        }
    }

    运行结果:

    欢迎你:Cjj!
    欢迎你:Cjj!

    注意:

    1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如:

    d8fde619ef1d3896c57ec2e64cd8b39.png

    如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。如:

    6dc5ffbdd7e5a68b10f1ca28b188f88.png

    2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,如:

    0e1ff35b99a68b887e9d94614510903.png

    3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。如:

    public class Test01 {
        String name = "Cjj"; //静态成员变量
        static String hobby = "study"; //非静态成员变量
        
        //普通成员方法
        public void print1() {
            System.out.println("普通成员方法~~~"); 
        }
        
        //静态成员方法
        public static void print2() {
            System.out.println("静态成员方法~~~");
        }
        
        public static void main(String[] args) {
            //普通成员方法必须通过对象来调用
            Test01 t1 = new Test01();
            t1.print1();
            //可以直接调用静态方法
            print2();
        }
    }

    推荐教程:java入门教程

    以上就是java中什么是静态的对象和方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java 静态 对象 方法
    上一篇:java程序是怎样运行的 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • java文件下载乱码解决方法• java中使用什么方法生成不重复随机数• Java判断字符串是否为整数的方法有哪些• java判断日期是否是今天
    1/1

    PHP中文网