java-static关键字

xiaoxiao2021-02-27  344

  java中新建一个对象,每个对象都有的自己的属性。如果现在有些属性希望被所有的对象共享,则就必须将其声明为static属性。如果一个类中的方法想由类调用,则可声明为static方法。

使用static声明属性

下面来看一个类:

package com.ydemo.array.test; public class Person { private String name; private static String city="A"; public Person(String name) { this.name = name; } public Person() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public static String getCity() { return city; } public static void setCity(String city) { Person.city = city; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + "city='" + city + '\'' + '}'; } }

修改类中的属性进行测试

@Test public void test(){ Person person1 = new Person("张三"); Person person2 = new Person("李四"); Person person3 = new Person("王五"); System.out.println(person1.toString()); System.out.println(person2.toString()); System.out.println(person3.toString()); Person.setCity("B"); System.out.println(person1.toString()); System.out.println(person2.toString()); System.out.println(person3.toString()); }

结果如下

Person{name=’张三’city=’A’} Person{name=’李四’city=’A’} Person{name=’王五’city=’A’} Person{name=’张三’city=’B’} Person{name=’李四’city=’B’} Person{name=’王五’city=’B’}

使用static来声明方法

Person类中setCity()方法为static方法。

直接可以通过 Person.setCity("B");进行调用。

案例使用static来统计一个类实例化多少个对象。

代码:

package com.ydemo.array.test; public class CountDemo { private static int count =0; public CountDemo() { count++; System.out.println("新建了"+count+"个对象"); } }

test:

@Test public void test(){ new CountDemo(); new CountDemo(); new CountDemo(); new CountDemo(); }

结果:

新建了1个对象 新建了2个对象 新建了3个对象 新建了4个对象

转载请注明原文地址: https://www.6miu.com/read-3907.html

最新回复(0)