java static int_Java中static关键字概述

例如一个学生类中,我们需要统计下学生类中学生对象的数量,此时数量要定义为静态变量;

示例代码:

package com.java1995;

public class Student {

int id=0;

static int num=0;

Student(int id){

this.id=id;

num++;

}

public static void main(String[] args){

Student s1=new Student(1);

Student s2=new Student(2);

Student s3=new Student(3);

Student s4=new Student(4);

Student s5=new Student(5);

Student s6=new Student(6);

System.out.println("Num:"+Student.num);

}

}

输出结果:6

1.静态 变量

静态变量属于类的,和对象没有关系;

费静态变量属于某个对象的,每个对象都有 该数据的副本,

而静态变量只有一个

访问静态变量是通过(类名.变量名)来访问的

示例代码:

package com.java1995;

public class Test {

int commonint=0;

static int staticint=0;

Test(int x){

this.commonint=x;

}

public static void main(String[] args){

Test t1=new Test(1);

Test t2=new Test(2);

System.out.println("t1.commoint:"+t1.commonint);

System.out.println("t2.commoint:"+t2.commonint);

t1.staticint=1;

//静态变量在整个类中是唯一的,对象t1改变静态变量,该类中的静态变量同时进行改变,对其他的对象也有影响

System.out.println("t1.staticint:"+t1.staticint);

System.out.println("t2.staticint:"+t2.staticint);

}

}

2.静态方法

用static 修饰的方法称为静态方法

访问静态方法是通过(类名.方法名)来访问

示例代码:

package com.java1995;

public class StaticMethod {

public static void main(String[] args){

//类名.方法名进行访问

MyMethod.printInt(111111);

MyMethod.printString("Hello world");

}

}

class MyMethod{

static void printString(String args){

System.out.println(args);

}

static void printInt(int i){

System.out.println(i);

}

}

(1)静态方法不能访问非静态变量

(2)费静态方法可以访问静态变量

PS:静态属性或者方法在类加载的时候产生的

非静态属性或者方法是在new的时候产生的

测试代码:

package com.java1995;

public class Domo {

static int x=0;//定义一个静态变量x,赋初值为0

static{

x=100;//创建一个静态语句块,对x进行赋值

}

//创建一个构造器,输出x

Domo(){

System.out.println(x);

}

public static void main(String[] args){

new Domo();

}

}

运行结果:100,

说明程序先调用的语句块,static{x=100},而不是直接调用的构造器

即,先有静态属性,再有非静态属性

3.静态常量

public static final int  x=1;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值