java 关键字之static

java 关键字之static

基础概念

属性:实例变量和类变量(static修饰的变量)
static可以修饰:属性,方法,代码块,内部类
static修饰属性(类变量)(在方法区):
1.同一个类创建的多个,每个对象单独拥有一份实例变量,共同拥有一份类变量
2.当某个对象对类变量修改后,其他变量也一样改变
3.类变量随着类加载而加载,实例变量是随着对象的创建而加载的。
4.导用类变量的方式:
	1)类名.类变量名 
	2)对象名.类变量
5.静态方法中不能调用实例变量和非静态方法(类加载情况)
6.静态方法不能使用"this""super"关键字
static使用场景:
	static修饰属性:1)多个对象拥有该属性时由static修饰,2)常量如E,PI
	static修饰方法:1)常见的工具类中的方法都是静态方法 2)有时为了调用类变量方法也会定义静态方法

实例

class Person{
    //实例变量
    String name;
    int age;
    static String country;//类变量
//    非静态方法:
    //    1.静态方法中能调用类变量和静态方法(类加载情况)
    public void info(){
        System.out.println(" name="+name+" age="+age+" country="+country);
    }
//静态方法:
//    1.静态方法中不能调用实例变量和非静态方法(类加载情况)
    public static void show(){
        System.out.println("static show");
    }
}
public class TestStatic {
    public static void main(String[] args) {
//        Person p=new Person();
//        p.name="撒谎哥";
//        p.age=29;
        p.country="中国";
//        Person.country="中国";
//        p.info();
//        Person p1=new Person();
//        p1.name="马云";
//        p1.age=39;
//        p1.info();
//        new Computer();
//        new Computer();
//        new Computer();
//        Computer cp= new Computer();//count=4
//        cp.show();
        Employee e=new Employee("aa",18);
        Employee e1 =new Employee("cc",18);
        Employee e2 =new Employee("dd",18);
        Employee e3=new Employee("ee",18);
        e.show();//1
        e1.show();//2
        e2.show();//3
        e3.show();//4

    }
}
//需求:统计Computer类的创建对象的个数
class Computer{
    static int count;
    public Computer(){
        count++;
    }
    public void show(){
        System.out.println("count="+count);
    }
}
//实现id自增
class Employee{
    int id;
    String name;
    int age;
    static int num=0;

    public Employee(String name, int age) {
        this.name = name;
        this.age = age;
        id=++num;
    }
    public void show(){
        System.out.println(id);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值