zoukankan      html  css  js  c++  java
  • 枚举(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("中国");

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

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

    运行结果

  • 相关阅读:
    ES5和ES6中的静态方法、类、单例模式
    Koa 应用生成器以及 Koa 路由模块化
    封装 Koa操作Mongodb数据库的DB类库
    Koa Session 的使用
    Koa 中 Cookie 的使用
    koa art-template 模板引擎
    koa koa-static 静态资源中间件
    koa post 提交数据 koa-bodyparser 中间件的使用
    koa ejs 模板引擎
    详解express与koa中间件执行顺序模式分析
  • 原文地址:https://www.cnblogs.com/sinon/p/5890380.html
Copyright © 2011-2022 走看看