java小白求助:如何使用枚举类型?

问题描述

看《java编程思想》中关于枚举的用法,我把枚举类型和一个类放在一块,结果总是在枚举定义的地方报错:thepublictypeSpicinessmustbedefinedinitsownfile。请问这是怎么回事呢?小白拜谢大家了

解决方案

解决方案二:
那就别放在一块。一个文件只能有一个对外的publicclass.
解决方案三:
引用1楼u011461314的回复:

那就别放在一块。一个文件只能有一个对外的publicclass.

意思是说,我需要建一个包,然后新建枚举,然后在Burrito中引用这个包吗?我把枚举定义放到这个类的内部就没问题了,这又是怎么回事呢?多谢兄台了
解决方案四:
规范规定一个.java文件只能有一个public全局类,在你这里就是Burrito,你需要把Spiciness移到另一个.java文件中,可以新建个包,也可以和Burrito在同一个包。把枚举定义放到类内部以后,这个枚举定义就不是全局的了,而是Burrito的内部类了,自然就没问题了。
解决方案五:
引用3楼xuefeng0707的回复:

规范规定一个.java文件只能有一个public全局类,在你这里就是Burrito,你需要把Spiciness移到另一个.java文件中,可以新建个包,也可以和Burrito在同一个包。把枚举定义放到类内部以后,这个枚举定义就不是全局的了,而是Burrito的内部类了,自然就没问题了。

嗯,多谢多谢,后面一章讲了这个

时间: 2024-10-24 21:15:30

java小白求助:如何使用枚举类型?的相关文章

字符串转换-求助!java小白,提示错误:类型不匹配:byte问题

问题描述 求助!java小白,提示错误:类型不匹配:byte问题 不能从byte[]转换为Byte[] 解决方案 弱智...我知道了,byte...别喷我了 解决方案二: java错误提示----------类型不匹配

Java编程思想学习笔记——枚举类型

前言 关键字enum可以将一组具名的值有限集合创建一种为新的类型,而这些具名的值可以作为常规的程序组件使用. 正文 基本enum特性 调用enum的values()方法可以遍历enum实例,values()方法返回enum实例数组,且数组中元素保持在enum声明时的顺序. public class TestEnum { public static void main(String[] args) { Fruit[] values = Fruit.values(); for (Fruit frui

希望得到大神的帮助-JAVA小白向大神求助。mousemotionlistener

问题描述 JAVA小白向大神求助.mousemotionlistener 代码可能有点乱而长.我就是想问鼠标控制不了 hero.png这个图片的移动 package start; import javax.swing.ImageIcon; import javax.swing.JFrame; public class StartFrame extends JFrame{ /** * */ public int x; public int y; public static StartFrame s

Effective Java(3) 用私有构造器或者枚举类型强化Singleton属性

一.背景 所谓的Singleton是指仅仅被实例化一次的类,Singleton通常被用来代表那些本质上唯一的系统组件. 实现Singleton有以下三种方法: ①. 私有构造器,公有静态final域. ②. 私有构造器,公有静态工厂方法. ③. 单元素枚举类型(首选). 二.私有构造器,公有静态final域 public class Singleton1 { public static final Singleton1 INSTANCE = new Singleton1(); // 公有静态fi

Java魔法堂:枚举类型详解

一.前言   Java的枚举类型相对C#来说具有更灵活可配置性,Java的枚举类型可以携带更多的信息. // C# enum MyColor{ RED = 0, BLUE = 1 } Console.Write(MyColor.RED); // Java enum MyColor{ RED("Hot", 4), BLUE("SAD",8); private String mood; public String getMood{ return mood; } priv

深度分析 Java 的枚举类型:枚举的线程安全性及序列化问题(转)

写在前面: Java SE5 提供了一种新的类型 Java的枚举类型,关键字 enum 可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用,这是一种非常有用的功能.本文将深入分析枚举的源码,看一看枚举是怎么实现的,是如何保证线程安全的,以及为什么用枚举实现的单例是最佳方式. 枚举是如何保证线程安全的 要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和class一样,只是一个关键字,他并不是一个类,那么枚举是由

全面解读Java中的枚举类型enum的使用_java

关于枚举大多数地方写的枚举都是给一个枚举然后例子就开始switch,可是我想说,我代码里头来源的数据不太可能就是枚举,通常是字符串或数字,比如一个SQL我解析后首先判定SQL类型,通过截取SQL的token,截取出来可能是SELECT.DELETE.UPDATE.INSERT.ALTER等等,但是都是字符串,此时我想用枚举就不行了,我要将字符串转换成枚举怎么转呢,类似的情况还有从数据库取出数据根据一些类型做判定,从页面传入数据,根据不同的类型做不同的操作,但是都是字符串,不是枚举,悲剧的是我很少

介绍Java语言中枚举类型及如何定制Enum类型的定义

Enum 类型的介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成http://www.aliyun.com/zixun/aggregation/30537.html">独一无二的类型描述符,在这一点上和常量的定义相似.不过相比较常量类型,枚举类型可以为申明的变量提供更大的取值范围. 举个例子来说明一下,如果希望为彩虹描绘出七种颜色,你可以在 Java 程序中通过常量定义方式来实现. 清单 1

Java枚举类型enum

枚举的语法1.Enum的全称为enumeration,中文俗称枚举类,学过C/C++等语言的人,应该都对它略知一二.    但在Java语言规范中,是在JDK 5版本中才引入的,存放在 java.lang 包中.在Java版的Enum实质是语法糖,其声明方式如下: [代码1] package com.enumtest; public enum Color { RED,BLUE,BLACK,YELLOW,GREEN //注意这里可以没有分号 }   enum是用来声明枚举的关键字,声明定义的类都隐