博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Static关键字的用法
阅读量:6658 次
发布时间:2019-06-25

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

Static关键字

标签: Java


Static的关键用法,包括Static修饰的变量/属性,或者是Static修饰的方法。

首先,我们看一下下面的代码,以及代码中的注释:
代码

package com.itsme.staticMethod;

public class UseStaticMethod {         static int base=0;//使用static修饰的变量为类变量,         类变量是类级别,就是说这个类的对象共享这个变量/属性。         int variable=10;     public static void StaticMethod(int a){    //类方法        UseStaticMethod usm=new UseStaticMethod();        usm.comMethod(a);        UseStaticMethod.StaticMethod1(a+UseStaticMethod.base);        StaticMethod(a+base);        System.out.println("类方法被调用"+a);        //类方法中不能调用非类方法        //UseStaticMethod.comMethod(a);这种写法是错误的        //类方法中可以调用类方法和类变量,比如下面这行        UseStaticMethod.StaticMethod(a+base);      }      public void  comMethod(int a){         UseStaticMethod.StaticMethod(a);  //非类方法中可以使用类方法和类变量  }        public static void StaticMethod1(int a){      //同StaticMethod中的用法一样,这里不再写代码;    }  }Static关键字修饰的变量叫类变量或者静态变量。其实类变量实在程序加载的时候创建的,先于类的所有对象创建。使用类变量的时候,不需要使用对象调用而是可以直接使用类名。Static关键字修饰的方法叫做类方法或者静态方法。类方法可以直接通过类名直接调用,比如:UseStaticMethod.StaticMethod(a+base);

类方法中不能使用this关键字,因为this关键字代表当前类的对象,当方法是对象级别的时候可以用this关键字调用,但是类方法是类级别的,所以不能用this关键字。

非类方法中可以使用类方法和类变量,比如:

UseStaticMethod.StaticMethod(a+base);    comMethod(base);    //类方法中不可调用非类方法,比如: comMethod(a);//错误,这种写法是不允许的 //正确的写法如下 UseStaticMethod usm=new UseStaticMethod(); usm.comMethod(a); //通过对象来调用非类方法以及使用非类变量

PS:Static 静态代码块会在类加载的时候直接执行:

static{    ...    ...}

以上就是Static关键字的使用方法。

转载于:https://www.cnblogs.com/It_sMe/p/5451874.html

你可能感兴趣的文章
洛谷金秋夏令营模拟赛 第2场 T11737 时之终末
查看>>
汕头市队赛 SRM10 T1模拟只会猜题意
查看>>
noi 4978 宠物小精灵之收服
查看>>
55.动态加载Html
查看>>
9.如何判定常量是否被定义
查看>>
有关UIScrollView 和 UIPageControll 结合使用
查看>>
js中 let 与 var 的区别
查看>>
你知道Java的四种引用类型吗
查看>>
三种数据库连接池的配置及使用(For JDBC)
查看>>
Intellij IDEA 常用的插件 建议全装
查看>>
大前端的自动化工厂(5)—— 基于Karma+Mocha+Chai的单元测试和接口测试
查看>>
MSP项目群管理介绍
查看>>
cdq分治入门学习 cogs 1752 Mokia nwerc 2015-2016 G 二维偏序
查看>>
OCCI开发环境的安装和配置
查看>>
C语言初级进阶2
查看>>
一种坠落的无知感---祭奠、致敬、反思三年生涯之曾经以为拥有全世界(二)...
查看>>
前端常用的正则表达式
查看>>
2018软工实践第一次作业
查看>>
ARM平台上蓝牙协议栈Bluez的移植使用和配置
查看>>
day02-字符及字符编码
查看>>