博客
关于我
【Java】Java基础之Static关键字
阅读量:266 次
发布时间:2019-03-01

本文共 1265 字,大约阅读时间需要 4 分钟。

概述 

        Static表示静态,用于修饰成员(包括成员变量和成员方法)。将当前类所有对象所共享的变量定义为静态的。

访问方式

两种访问方式:

1)可以使用对象调用:对象.静态成员

2)可以使用类名调用:类名.静态成员

建议:使用类名调用

public  class Person{    static string country;}  public class Test{    public static void main(String[] args){        //创建对象        Person person=new Person();        person.country;        //或者直接类名.静态成员        Person.country;    }}

static成员的访问规则

访问规则:

1)静态只能直接访问静态,不能直接访问非静态

2)非静态可以直接访问静态和非静态

package com.itheima_01;public class AAA {    //静态变量    static int a ;    //普通变量    int b;    //静态方法    public static void method1(){        System.out.println(a);  //静态方法可以访问静态变量        System.out.println(b);  //静态方法不可以访问非静态变量        method2();              //静态方法可以访问静态方法        method3();              //静态方法不可以访问非静态方法    }    public static void method2(){    }    //普通方法    public void method3(){        System.out.println(a);        System.out.println(b);        method1();        method4();    }    public void method4(){    }}

静态方法的注意事项

1)一旦使用了static关键字,成员变量就不属于自己,而是属于类,只要是本类的对象,都共享同一数据。例如同伴同学的教室是相同的,可以声明为静态的

2)不管是静态变量还是静态方法都推荐使用类名调用

3)静态方法不能直接调用非静态。原因:在内存中,静态内容都是先于非静态内容产生。就是说:后人知道先人,但是先人不知后人【例如我们知道秦始皇,但是秦始皇并不知道我们】(静态总是优先于非静态

4)静态方法是不属于对象的,而是属于类的。

5)静态方法中不能使用this调用,this是代表当前对象,而静态方法属于类,在类加载之后,对象并不一定会存在,如果使用this调用则会出现错误

6)静态代码块第一次执行只执行唯一的一次

转载地址:http://lbjo.baihongyu.com/

你可能感兴趣的文章
软件架构-zookeeper场景和实现
查看>>
身边到处是牛人,开发就这么坑!
查看>>
自己的利益靠自己争取,开发就是这么坑!
查看>>
「初级篇」跟我一起学docker(四)--容器的基本操作
查看>>
「初级篇」跟我一起学docker(九)--持续系统集成了解下git
查看>>
22 岁毕业做程序员的「普通」人,50 岁时的人生轨迹是怎样的?
查看>>
『中级篇』Docker-Stack部署投票应用(50)
查看>>
又一程序员在工作岗位上倒下,幸好不是一个人在加班!
查看>>
『中级篇』Docker Cloud自动构建 Docker image(55)
查看>>
『中级篇』docker体验阿里云的容器服务(58)
查看>>
『中级篇』k8s基础网络Cluster Network(66)
查看>>
『中级篇』docker之虚拟机创建vagrant技巧(番外篇)(81)
查看>>
『高级篇』docker容器来说软件架构的进化(二)
查看>>
『高级篇』docker之kubernetes搭建集群添加认证授权(下)(39)
查看>>
『高级篇』docker之安全认证kubernetes命令熟悉(40)
查看>>
「docker实战篇」python的docker-抖音web端数据抓取(19)
查看>>
「小程序JAVA实战」小程序和后台api通信(28)
查看>>
BugKu (杂项篇MISC)—隐写
查看>>
2016年省赛a组
查看>>
string字符串中转义,调用类方法
查看>>