static关键字

1.static的介绍以及基本使用

1.概述:static是一个静态关键字

2.使用:


   a.修饰一个成员变量
       static 数据类型 变量名
   b.修饰一个方法
       修饰符 static 返回值类型 方法名(形参){
                 方法体
                 return 结果
       }


3.特点:


   a.静态成员属于类的成员,非静态成员属于对象的成员
   b.静态成员会随着类的加载而加载
   c.静态成员会优先于对象成员产生
   d.凡是根据static成员所在的类创建出来的对象,都可以共享这个静态成员

     


4.静态成员访问:


  类名直接调用

public class Student {
    String name;
    int age;
    static int ban;
}

public class Test {
    public static void main(String[] args) {
        Student.ban=4033;

        Student s1 = new Student();
        s1.name="战鹰";
        s1.age=3;
        System.out.println("姓名:"+s1.name+" 年龄:"+s1.age+" 班级:"+s1.ban);

        Student s2 = new Student();
        s2.name="张三";
        s2.age=15;
        System.out.println("姓名:"+s2.name+" 年龄:"+s2.age+" 班级:"+s2.ban);
    }
}

static关键字修饰的成员一次赋值,所有根据这个类创建的对象共享这个成员

2.static修饰成员的访问特点

1.在静态方法中能不能直接访问静态成员? 能
  a.同一个类中:直接调用
  b.不同类中:类名调用
      
2.在静态方法中能不能直接访问非静态成员?不能
  new对象调用    
      
3.在非静态方法中能不能直接访问静态成员? 能
  a.同一个类中:直接调用
  b.不同类中:类名调用
      
4.在非静态方法中能不能直接访问非静态成员? 能
  a.同一个类中:直接调用
  b.不同类中:new对象调用

注意

访问静态成员:能直接调用就直接调用,不能直接调用就类名调用

访问非静态成员:能直接调用就直接调用,不能直接调用就new对象调用

如果某个类中的很多成员都是静态的,所有的静态成员都会随着类的加载而产生,包括没用上的成员
 那么所有静态成员包括有用的,没用的都进内存,很占用内存资源,浪费内存资源

 一般情况下,只有抽取工具类的时候,我们会将抽取出来的共用的成员定义成静态的,其他的都不是静态的.工具类就是一个类,里面抽取的都是常用的,共用的一些方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值