Java学习(二)Static关键字的理解

在讲Static之前,引入一个小题


1531909-0cb86e7d808d6fc8.png
答案为“c”


1531909-1c7a97d38b65c794.png
运行结果

Cannot make a static reference to the non-static field x:意思是无法再静态方法中引用一个非静态变量x

下面是对关键字Static的理解

1、关键字static(类方法,实例方法)

    ①:静态方法和静态变量是属于某一个类,而不属于类的对象

    ②:静态方法和静态变量的引用直接通过类名引用。

    ③:在静态方法中不能调用非静态的方法和引用非静态的成员变量。非静态方法中可以调用                静态方法和变量,即(反之,则可以)。(静态方法)

2、我们可以从运行抛出的异常可以看出:静态方法不能调用非静态变量

3、“主方法是static方法,只能使用static的成员。想使用x,需要开辟对象的空间,new 一个对         象,分配一个空间。”

    如果开辟一个对象空间,程序正常运行:

1531909-072c654c9fc6b6ca.png
运行正常

4、被static修饰后的成员具有的特点:

     A:随着类的加载而加载。

     B:优先于对象存在(即在创建对象之前,就已经随着类的加载而存在)。

     C:可被所以对象共享。

     D:可以直接被类名调用(就是说没有创建对象,也可以调用)

5、下面是在网上查到的理解:

       关于静态修饰符static的几点特别注意点。

       A:静态方法只能访问静态成员。//非静态方法既可以访问静态成员,也可以访问非静态             成员。(静态成员包括:静态变量与静态方法)

      B:静态方法中不能使用关键字this或者super。(也就是静态方法中不能出现非静态的成员       变量)

      C:主函数的 修饰 必须为 static。

      D:静态方法中要,要调用非静态方法是可以可以使用对象来调用。(即调用前先创建个           对象,再使用 (对象.方法)来调用

6、最后一点,static静态代码块。

     该代码块随着类的加载而执行,并且只执行一次。有的class不用创建对象,那么这一类            class不用构造函数来初始化,可以直接使用静态代码块来达到该class的目的(即为完成            程序员想要完成的动作)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值