zoukankan      html  css  js  c++  java
  • Java之枚举

    package com.anby;
     
    public class mode {
    public enum student{
    man,woman;
     
    }
    public enum student1{
    man("男"),woman("女");
     
    //枚举中不能直接定义成员,必须要首先定义枚举常量才能生命枚举中的成员
    //也就是说,枚举相当于多例模式,只是简化了书写
    //枚举常量 默认 被static finaly修饰
     
    private String value;
    private student1(String str)
    {
    this.value=str;
    }
     
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
    Person man=Person.man;
    Person woman=Person.woman;
    Person woman2=Person.woman;
     
    System.out.println(man);
    System.out.println(woman);
    System.out.println(woman2); //此时打印的woman=woman2
     
     
     
    //这里有点绕。。
    //调用的是子类的方法
       System.out.println(man.getAge());
    System.out.println(woman.getAge());
     
    }
     
    }
     
    abstract class    Person
    {
    //私有化构造函数,通过内部成员进行初始化--传男 初始化男人,传女 初始化女人
     
     
    //此时,对男女的年龄进行设置(通过内部类),在本类中提供一个抽象方法,用于外部访问该属性
     
     
    //通过内部类,对年龄进行设置,外层类的抽象方法只是为了让本类型的实例进行访问
    public static Person man=new Person("男"){   //这里也说明了,抽象类的内部类,可以对外部抽象类调用构造函数
      public   int getAge()
      {
      return 20;
      }
    };
     
    public static Person woman=new Person("女"){
      public   int getAge()
      {
      return 22;
      }
    };
     
     
    private String value;
        private  Person(String value)
        {
        this.value=value;
        }
        public abstract  int getAge(); //该抽象方法只是为了让实例调用该内部类中实现的方法
        
    }
  • 相关阅读:
    将截断字符串或二进制数据。语句已终止的解决方法
    201812-1 小明上学 Java
    201809-2 买菜 Java
    201809-1 卖菜 Java
    201803-2 碰撞的小球 Java
    201803-1 跳一跳 Java
    201712-2 游戏 Java
    201712-1 最小差值 Java
    201709-2 公共钥匙盒 Java
    201709-1 打酱油 Java
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/3041360.html
Copyright © 2011-2022 走看看