当前位置: 首页 > 面试题库 >

我需要了解Java示例中的枚举的行为吗?

卢权
2023-03-14
问题内容

第一个是枚举类

enum coffeeSize{
    BIG(8), HUGE(10), OVERWHELMING(16);
    private int ounces;
    coffeeSize(int ounces ){
        this.ounces = ounces;
    }
    public int getOunces(){
        return ounces;
    }

}

这是类CoffeeTest1,主要

 public class CoffeeTest1 {
      coffeeSize size;

      public static void main (String args[]) {
          CoffeeTest1 drink1 = new CoffeeTest1();
          drink1.size = coffeeSize.BIG;

          System.out.println(" " + drink1.size.getOunces());
      }
}

以下是输出

8

我的问题:我不了解如何drink1.size.getounces()管理输出8。我没有给出构造函数coffeeSize(8)对象(例如:)coffeeSize somex = new coffeeSize(BIG)。我想知道背后的这种简单的微妙逻辑。有人可以帮我理解吗?


问题答案:

我不明白“ drink1.size.getounces()”如何管理输出8。

[…]

我想知道背后的这种简单的微妙逻辑

要了解其背后的逻辑,您可以将您的代码enum视为常规代码class(实际上就是它的编译方式),并且

BIG(8)

作为此类的一个实例,类似于

new coffeesize(8);

现在应该清楚为什么drink1.size.getOunces()打印8:BIG只是coffeesize枚举的一个实例,ounces在构造时将其设置为8。



 类似资料:
  • 问题内容: 我很清楚Java中枚举的高级用法。对我来说,许多区别于普通班和告诉他们需要的观点也很清楚。 谁能举一些带有高级枚举示例代码的实际示例?可以清楚地阐述一下 我们应该避免使用类,而应该使用枚举 。 请不要混淆。我不是在问如何使用枚举或枚举的用途是什么。关于此有很多问题和答案。我正在寻找一些实时/实时/实际的例子,我们应该避免任何其他数据类型或类。 问题答案: 试试这个例子: 用法:

  • 如果有人理解java编译器为什么这么做,请解释一下。

  • 我不得不说我不理解Scala枚举类。我可以从文档中复制粘贴示例,但我不知道是怎么回事。 什么是?为什么我必须写这个? 为什么?这到底是什么意思? 为什么必须导入对象?并且, 当我编写时,为什么要键入,而不是键入?

  • 本文向大家介绍详细了解C# 枚举与位枚举,包括了详细了解C# 枚举与位枚举的使用技巧和注意事项,需要的朋友参考一下 一、枚举的概念:   C# 枚举(Enum), 枚举类型是用于声明一组命名的常数的基本数据类型(值类型); 二、枚举的定义:   声明enum变量:   其中enum_name 指定枚举的类型名称;  enumeration list 是一个用逗号分隔的标识符列表;   枚举列表中的

  • 本文向大家介绍Java中枚举的使用详解,包括了Java中枚举的使用详解的使用技巧和注意事项,需要的朋友参考一下 枚举简介:  为什么要用枚举:     枚举是Java1.5出来之后新增的类型,它可以用来定义一组取值范围固定的的变量。     在枚举没有出来之前,要定义这样的变量,往往是通过定义一个接口,将不同的变量     使用不同的整数赋值。但是这样的却有着很明显的缺点:         1.不