如何基于类设置值

时间:2019-04-17 07:56:08

标签: java

不确定我的标题是否正确。我根据类的数据类型创建一个变量。我列出了一些示例,如下所示。

我创建了3个课程:

  1. testing.java
  2. Sentence.java
  3. Entity.java

我是Java新手,想学习。

Testing.java

package test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.*;

public class testing {

    private static Entity ent; 


    public static void main(String[] args) 
    { 
      ent.setStart(1);
      ent.setBegin(2);
      Entity entity = ent.setStart(start); # My question is in this part
      List<String> sentences = new ArrayList<String>(Arrays.asList("I have a thing", "I have nothing"));
      List<String> context = sentences.subList(0,sentences.size() - 1);
      String target = sentences.get(sentences.size() -1 );

    } 

}

Sentence.java

package test;

import java.util.List;

public class Sentence {

    private List<Entity> entities;

    public List<Entity> getEntities() {
        return entities;
    }

    public void setEntities(List<Entity> entities) {
        this.entities = entities;
    }

}

Entity.java

package test;


public class Entity {

    private Integer begin;

    private Integer start;

    public Integer getBegin() {
        return begin;
    }

    public void setBegin(Integer begin) {
        this.begin = begin;
    }

    public Integer getStart() {
        return start;
    }

    public void setStart(Integer start) {
        this.start = start;
    }

}

我不知道如何为实体创建变量。我一直在尝试,但是行不通。

我还想知道为什么不应该将Entity.java和Sentence.java导入Testing.java?我以为我们必须导入它才能使用它?某种程度上,它无需使用导入即可工作。

1 个答案:

答案 0 :(得分:1)

  

我还想知道为什么不应该将Entity.java和Sentence.java导入Testing.java中?我以为我们必须导入才能使用它?

您只需要导入其他软件包中的内容。您的东西全都放在名为test的软件包中,因此您无需导入它。

关于问题本身。您可能会收到NullPointerException,因为您没有初始化静态变量ent

main方法的第一行中,您应该像这样初始化它: ent = new Entity();

这部分也根本没有任何意义: Entity entity = ent.setStart(start);

ent.setStart(start)返回void而不是Entity

总而言之,类似这样的东西至少应该是可编译的:

public static void main(String[] args) { 
      ent = new Entity();
      ent.setStart(1);
      ent.setBegin(2);
      int start = 0;
      ent.setStart(start);
      List<String> sentences = new ArrayList<String>(Arrays.asList("I have a thing", "I have nothing"));
      List<String> context = sentences.subList(0,sentences.size() - 1);
      String target = sentences.get(sentences.size() -1 );

}