Java带有static关键字的方法和成员变量分别该怎么去访问

  • static总的来说是方便在没有创建对象的情况下来进行调用。
  • 注意:静态方法中不可以使用this或者super关键字。
  • 注意:static不允许用来修饰局部变量。
  • 在权限允许的前提下:
    在这里插入图片描述
    箭头表示访问
    注意: 1、3、7、11同类可以省,不同类不可以省。
        2、4、8、12同类不同类都可以用,但是没有必要,因为带static的方法或变量就是为了方便的,new对象再访问(有点画蛇添足的感觉)而且new对象,也不是这个对象的引用在访问方法和变量。
public class Test {
    public static void main(String[] args) {
        new Test().noStatic();
    }

    public static void yesStatic(){
        System.out.println("我是有static的方法");
    }

    public void noStatic(){
        yesStatic();                       //我这是省略了类名调用了yesStatic方法

        Test test = new Test();         //这里new一个对象;
        test.yesStatic();                //用对象引用调用静态方法;

        test = null;                    //在把引用指向空;
        test.yesStatic();                //照道理这里应该会出现空指针异常的报错
    }

}
/*这里是对2、4、8、12的一个举例,没有全部举完;
从运行结果可以看出带static的无论是成员变量还是方法,
你虽然通过new对象访问static的方法从而运行;
但是实际上运行那边把他看成了类名.方法来调用;
因为如果是当引用.方法来调用的话,当引用变成null,结果应该是空指针异常的,而最后结果却没有报错。

简单来说,你可以这样写,但是我把这样的写法看成类名.方法来用。
*/
运行结果:
我是有static的方法
我是有static的方法
我是有static的方法

    5、9在同类中用;
    6、10不同类中用;

  • 带static访问不带static不管是方法,还是变量都要new;
  • 有错误欢迎指出。
  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值