static

类变量

  1. 定义:
    用static修饰的变量

  2. 与实例变量的区别:
    所有对象中的类变量分配的内存位置相同,改变其中一个对象的类变量,就会改变所有对象的类变量。即所有对象共享这一个类变量。

  3. 用途:
    1)省去相同的变量:

//创建等高的梯形对象
class Trapezoid{
int top;
int bottom;
static int height=10;
……
}
//用此类创建的所有的梯形的高,全部相等

2)放在构造方法中,可以用于统计创建对象的数量

class Piont{
int x;
int y;
static int count;
Piont(){
count++;
}
Piont(int x,int y){
this.x=x;
this.y=y;
count++;
}
public class Piont{
public static void main(String[] args){
Piont p1 = new Piont(2,3);
Piont p2 = new Piont(1,4);
Piont p3 = new Piont(2,5);
……
Piont pn = new Piont();
System.out.println(Piont.count);//通过这种方式,可以看下我们创建的对象的数量

3)创建的对象中,有顺次递增的数据

class Student{
long id;
String name;
int age;
static long d=0;
Student(String name,int age){
this.id = ++d;  //id从1开始,依次递增
this.age = age;
this.name = name;
}
……
  1. 关于类对象的说明:
    1)可以通过“类名.类变量名”的方式去访问,不需要创建对象
    2)类变量仍然只作用于其从属的类

类方法

1.定义:
用static修饰的方法
2.与实例方法的区别:
1)类方法只能操作类变量

class A{
int a;
int b;
static int c;
static void ff(){
c++;  //可以
a++;  //报错
}
}

2)类方法只能调用类方法

class A{
int a;
int b;
static int c;
static void m(){
c++;
}
void mm(){
a++;
b++;
}
static void mmm(){
m();  //可以
mm();   //报错
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值