【阿里云】Java面向对象课程笔记(九)—— static关键字

本文详细介绍了Java中的static关键字,包括static属性和方法的使用、主方法的分析以及static的应用场景。强调了static属性作为共享属性的特性,static方法的独立性,以及在类设计中应谨慎使用static。文章还通过实例展示了如何利用static进行对象计数和构造方法的配合使用。
摘要由CSDN通过智能技术生成

static关键字

  在所有定义的方法上以及属性上都可以使用static关键字定义。

1.1 static属性

范例:定义一个人的类,并设置所在国家

代码

class Person{
    private String name;
    private int age;
    String con = "US"; // 为方便操作,暂时不封装
    public Person(String name,int age){
        this.name = name;
        this.age = age;
    }
    public String getInfo(){
        return "name = " + this.name + ", age = " + this.age + " , contry = " + this.con;
    }
}

public class TestDemo
{
    public static void main(String[] args){
        Person p1 = new Person("Jack",10);
        Person p2 = new Person("Tom",11);
        Person p3 = new Person("Sandy",12);
        System.out.println(p1.getInfo());
        System.out.println(p2.getInfo());
        System.out.println(p3.getInfo());
    }
}

输出结果

name = Jack, age = 10 , contry = US
name = Tom, age = 11 , contry = US
name = Sandy, age = 12 , contry = US

  此时每个对象的con被重复保存,如果假设现在国家的名称突然改变,而按照以上存储模式,假设当前Person类已经产生了10亿个对象,就要改10亿次。传统的属性所具备的特征就是保存在对内存之中,且每一个对象独享此属性。
  这不适合当前环境,所以最好的做法是将con属性变为共享属性,只要一次修改就可以影响所有的对象,魔术共享属性只要在属性前加static关键字即可。

代码

class Person{
    private String name;
    private int age;
    static String con = "US";
    public Person(String name,int age){
        this.name = name;
        this
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值