static 修饰符

static 修饰符

静态变量:

static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。

静态方法:

static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据。

静态方法里面只能访问静态变量。

public static 表示公共的静态方法;

public 表示公共的方法;

静态方法不需要实例化,直接通过 类名.方法()调用;

公共方法需要实例化,通过new 类名.方法()调用;


静态变量与静态方法类似。所有此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间,当然对于final则另当别论了。

例子:

package com.utils;

public class StaticTest {

//静态变量staticInt

private static  int staticInt =5;

private int random =2;

private Stringformat;

private static Stringa="a";

static String b="";

public  String getFormat() {

return this.format;

}

//公共静态方法getA() 只能访问静态变量

    public static String getA(){

return a;

}

//表示公共方法

    public void setFormat(String format) {

this.format = format;

}

public StaticTest() {

//静态变量staticInt 可以做算法累加OR类减等

      staticInt++;

random++;

System.out.println("staticInt = "+staticInt+"  random = "+random);

}

public static void main(String[] args) {

//公共方法需要实例化,通过new 类名.方法()调用

StaticTest test =new StaticTest();

StaticTest test2 =new StaticTest();

test.setFormat("a");

test.getFormat();

//静态方法不需要实例化,直接通过 类名.方法()调用;

      b= StaticTest.getA();

System.out.println("static Int = "+test.staticInt+" static Int 2= "+test2.staticInt);

System.out.println("b = "+b);

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,780评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,295评论 1 44
  • Given a m x n grid filled with non-negative numbers, find...
    远o_O阅读 225评论 0 0
  • 风夹初雪自燕山,偷飘窗案前。渐觉渐小复如船,午酣醒满园。 窄巷静,锦鱼眠,天边生素烟。凤凰山上有无仙?焚香扫雪坛。
    花间补亡阅读 228评论 0 3