枚举(enum)与类的静态成员(static)


 

枚举(ENUM)与类的静态成员(static)

 枚举表示可以计数的一种类型

Gender.java

public enum Gender { male, Female, }

Person.java

public class Person { String name; int age; Gender gender; static String nation; /** * display()显示方法 * */ void display() { System.out.println(String.format("姓名=%s,年龄=%d,性别=%s,国籍=%s", name, age, gender, Person.nation)); } }

test.java

public class test {
	public static void main(String[] args) { // TODO Auto-generated method stub Person p=new Person(); p.name="Jay Chou"; p.age=30; p.gender=Gender.Female; Person.nation="中国"; p.display(); } }

 解析上述中的代码,以及涉及到的方法

 static--表示静态类型,它所表示的类或者成员均属于类而不是属于某个对象

例如在Person类中有一nation属性,定义为static类型,这时在主函数测试类中调用该属性时

Person.nation="中国";

使用该类去调用,该nation属性不用static标识时,如果存储了多个人的对象,都同属于一个国家,这是就会出现nation这个字段多次出现,占用内存,使用stati表示nation大家共享一份,不会浪费内存

 在display方法中还出现了String.Format方法:表示格式化字符串,该用法为

System.out.println(String.format("姓名=%s,年龄=%d,性别=%s,国籍=%s", name, age, gender, Person.nation));
  1. %s-->输出字符串类型
  2. %d-->输出整型类型(十进制)
  3. %x-->输出整型类型(十六进制)
  4. %b-->输出布尔类型
  5. %c-->输出字符类型

 当属性设置为private时,就需要使用set来进行设置属性了(在nation这个属性前添加private)

private static nation; public static void setNation(String nation){ Person.nation=nation; }

主函数调用使用

Person.setNation("中国");

 访问静态成员时必须使用静态方法

 实例成员属于类中的每个实例

运行结果

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM