java

时间:2017-11-06 18:30:52

标签: java string

我想联系两个字符串。

这是我的代码

public class StringTest {

 public String concat = "";
 public String txt = "Hello  "+concat;

 protected void print() {
    System.out.println("Output: " + txt);
 }

 public static void main(String[] args) {
    StringTest tb = new StringTest();
    tb.concat = "World";
    tb.print();
  }
}

输出:你好

但我需要“Hello World”。 有可能吗?

条件:   不应该重新赋值变量(get / set,inside method)

3 个答案:

答案 0 :(得分:2)

要使执行成为动态,您需要一种方法。

public class StringTest {

 public String concat = "";
 private String txt() { return "Hello  "+concat; }

 protected void print() {
    System.out.println("Output: " + txt());
 }

 public static void main(String[] args) {
    StringTest tb = new StringTest();
    tb.concat = "World";
    tb.print();
  }
}

仅在编写作业=时计算字段,但每次调用方法时都会对其进行评估。

答案 1 :(得分:0)

一旦以这种方式声明,你就不能改变常量String,而且它也是私有的,你不能在外面访问那个变量。

你几乎在那里,但你必须改变你的结构,连接不会那样。

public class StringTest {


 private String txt = "Hello  ";

 protected void print() {
    System.out.println("Output: " + txt);
 }

protected void concat(String toBe) {
    txt = txt + toBe;
 }

 public static void main(String[] args) {
    StringTest tb = new StringTest();
    tb.concat("World");
    tb.print();
  }
}

答案 2 :(得分:0)

创建StringText时,concat中的值将仅分配给txt变量。动态实例化正确的from to concatenate值,并在print方法中指定此值,如此

numpy.float64

每次调用print方法都会添加concat变量中包含的值。