Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当类的属性之一是枚举变量时,如何实现该类?_Java_Oop_Enums - Fatal编程技术网

Java 当类的属性之一是枚举变量时,如何实现该类?

Java 当类的属性之一是枚举变量时,如何实现该类?,java,oop,enums,Java,Oop,Enums,我想用状态属性创建节点对象状态属性可以确定为三个枚举变量之一:枚举状态={已访问、未访问、访问} 例如,我想做节点n1;n1.state=state.unvisted在这种情况下,n1是图形中的节点对象。为此,我需要创建一个节点类。状态属性的类型应该是什么 class Node { [type] state; public Node() { // say something about the state } } 您可以创建enum,如下所示: enum

我想用
状态
属性创建
节点
对象<代码>状态属性可以确定为三个枚举变量之一:
枚举状态={已访问、未访问、访问}

例如,我想做
节点n1;n1.state=state.unvisted
在这种情况下,
n1
图形中的节点对象。为此,我需要创建一个
节点
类。
状态
属性的类型应该是什么

class Node {
    [type] state;
    public Node() {
        // say something about the state
    }
}

您可以创建
enum
,如下所示:

enum State {
  Visited,
  Unvisited,
  Visiting    
}
State state;
完成后,可以按如下方式定义属性:

enum State {
  Visited,
  Unvisited,
  Visiting    
}
State state;

您可以创建
enum
,如下所示:

enum State {
  Visited,
  Unvisited,
  Visiting    
}
State state;
完成后,可以按如下方式定义属性:

enum State {
  Visited,
  Unvisited,
  Visiting    
}
State state;
国家财产的类型应该是什么

class Node {
    [type] state;
    public Node() {
        // say something about the state
    }
}
状态

国家财产的类型应该是什么

class Node {
    [type] state;
    public Node() {
        // say something about the state
    }
}

State

您可以在类外部定义枚举,然后在类内部创建该枚举的实例,如下所示

enum State {
  Visited,
  Unvisited,
  Visiting    
}
class Node {
    State state;
    public Node() {
        // say something about the state
    }
}

您可以在类外部定义枚举,然后在类内部创建该枚举的实例,如下所示

enum State {
  Visited,
  Unvisited,
  Visiting    
}
class Node {
    State state;
    public Node() {
        // say something about the state
    }
}

创建枚举数据类型:

public enum State {
  VISITED,
  UNVISITED,
  VISITING    
}
那么你的班级应该是这样的:

class Node {
    State state;
    public Node() {
        // say something about the state
    }
}
类的实例如下所示:

Node node1, node2;
node1 = new Node();
node2 = new Node();
node1.state = State.VISITED;
node2.state = State.UNVISITED;

有关更多阅读信息,请检查此项,或在谷歌上搜索有关
枚举的信息,您将找到更多信息。

创建枚举数据类型:

public enum State {
  VISITED,
  UNVISITED,
  VISITING    
}
那么你的班级应该是这样的:

class Node {
    State state;
    public Node() {
        // say something about the state
    }
}
类的实例如下所示:

Node node1, node2;
node1 = new Node();
node2 = new Node();
node1.state = State.VISITED;
node2.state = State.UNVISITED;

如需更多阅读,请查看此内容,或在谷歌上搜索有关
枚举的信息,您将找到更多信息。

类似于以下内容:
(我已将名称改为大写,因为这是枚举的惯例)

要引用它们,您需要使用
import packagename.State对其进行编码
State.visitored

或者仅使用导入静态packagename.State.*的
未访问

public class Enum60963806 {

    public static enum State {
          VISITED,
        UNVISITED,
          VISITING;
    }
    public static final class Node {

        private final State state;

        public Node(final State state) {
            this.state = state;
        }
    }
}

看起来是这样的:
(我已将名称改为大写,因为这是枚举的惯例)

要引用它们,您需要使用
import packagename.State对其进行编码
State.visitored

或者仅使用导入静态packagename.State.*的
未访问

public class Enum60963806 {

    public static enum State {
          VISITED,
        UNVISITED,
          VISITING;
    }
    public static final class Node {

        private final State state;

        public Node(final State state) {
            this.state = state;
        }
    }
}

谢谢你@Sujeet Sinha。我是否也应该将
State
创建为类?否,创建
enum
后,可以使用与属性类型相同的名称。
enum
应该在类之外定义。谢谢@Sujeet Sinha。我是否也应该将
State
创建为类?否,创建
enum
后,可以使用与属性类型相同的名称。
enum
应该在类之外定义。