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(); //该抽象方法只是为了让实例调用该内部类中实现的方法
        
    }
  • 相关阅读:
    论抱怨
    GitHub开源的10个超棒后台管理面板
    RESTful API 最佳实践
    理解RESTful架构
    redis 数据类型详解 以及 redis适用场景场合
    redis的应用场景 为什么用redis
    composer install 出现的问题
    什么是反向代理
    电脑 DNS纪要
    ajax请求处理概要
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/3041360.html
Copyright © 2011-2022 走看看