面向对象——static关键字

static:修饰成员变量时,表示静态成员变量或叫类变量
    普通变量在使用的时候,必须要通过对象名进行调用
    类变量或者静态变量可以使用对象名调用也可以使用类名进行调用
    修饰方法的时候,表示静态方法或者叫类方法
    普通方法在使用时,必须要通过对象名进行调用
    类方法或者静态方法可以使用类名,也可以使用对象名
注意:
        1.静态变量,在创建对象之前被初始化,或者说在类被载入之前进行初始化
        2.静态变量被所有的对象共享,属于公共变量,对象和类都可以直接调用
        3.成员变量放在堆中,而静态变量放在方法中静态区
        4.静态变量不能定义在静态方法中(静态与非静态都不能定义静态属性)
        5.静态方法可以在非静态方法中进行调用(非静态可调静态)
        6.静态方法中不能直接调用非静态方法
        7.静态方法中不允许出现this调用
        8.一般工具类中的方法为static    
        

package com.gml;

public class StaticDemo {

    //属性
    int age;
    static String name;
    //定义方法
    public void gg(){
        System.out.println("精神顺");
    }
    static void gml(){
        //System.out.println(age);静态中不能访问非静态的方法和属性
        System.out.println("牛马顺");
    }

    public static void main(String[] args) {
        StaticDemo sd = new StaticDemo();
       // sd.name = "牛马顺";
        StaticDemo.name = "牛马顺";//一般通过类名调用,推荐使用这个
        sd.gml();//通过对象调用
        StaticDemo.gml();//通过类名调用(推荐使用)
        gml();//静态调用,只能在当前的类中可以使用
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值