IDEA入门实录——static修饰

本文介绍了Java中static关键字的用途,包括修饰属性和方法。static修饰的属性在类加载时存储在方法区,可供所有实例共享。静态方法不能访问非静态成员,主要适用于需要在类级别上共享的数据或无状态的操作。
摘要由CSDN通过智能技术生成

[1]static可以修饰:属性,方法,代码块,内部类。

[2]static修饰属性;

package com.msb5;

public class Text {
    //属性
    int id;
    static int sid;

    public static void main(String[] args) {
        //创建一个对象
        Text t1 = new Text();
        t1.id = 10;
        t1.sid = 10;

        Text t2 = new Text();
        t2.id = 20;
        t2.sid = 20;

        Text t3 = new Text();
        t3.id = 30;
        t3.sid = 30;

        System.out.println(t1.id);
        System.out.println(t2.id);
        System.out.println(t3.id);


        System.out.println(t1.sid);
        System.out.println(t2.sid);
        System.out.println(t3.sid);

    }

}

输出如上图所示。

从内存分析可以很直观的看出。

一般官方的推荐访问方式:

类名.属性名去访问,

Text.sid = 100;
System.out.println(sid);

总结:

(1)在类加载的时候一起加载入方法区中的静态域中

(2)先于对象存在

(3)访问方式:对象名.属性名 类名.属性名(推荐)

static修饰属性的应用场景:

我们想要实现一个数据的共享,某些特定的数据,想要在内存中共享,只有一块,那么这种情况下,就可以用static修饰。

package com.msb5;

public class xupt {
    String name;
    int age;
    static String school;

    public static void main(String[] args) {
        xupt.school="西安邮电大学";
        xupt t1 = new xupt();
        t1.name = "李四";
        t1.age = 19;
        xupt t2 = new xupt();
        t2.name = "四";
        t2.age = 12;
        System.out.println(t2.school);
    }


    
}

属性:

静态属性(类变量)

非静态属性(实例变量)

[3]static修饰方法:

package com.msb5;

public class Demo {
    public void eat()
    {
        System.out.println("------a");
    }
    //1.static和public都是修饰符,并列的没有先后顺序,先写谁后写谁都行
    //2.在静态方法中不能访问非静态的属性
    public static  void  b()
    {
        //System.out.println(this.id);//4.在静态方法中不能使用this关键字
        //a();//3.在静态方法中不能访问非静态的方法
        System.out.println("------b");
    }

    public static void main(String[] args) {
        //5.非静态的方法可以用对象名.方法名去调用
        Demo d = new Demo();
        d.eat();
        //6.静态的方法可以用对象名.方法名去调用,也可以用类名.方法名去调用(推荐)
        Demo.b();


    }


}

总结:静态的去找静态的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值