什么是InfoChyb类的方法返回类型

时间:2018-07-11 07:18:23

标签: java object return-type

您能否帮助我理解为什么我们可以用这种方式处理变量消息-e.message?这样做是为了使chyb.getInfoMessage(2)返回Chyb类型的新对象,并且需要将此结果分配给相同Chyb类型的varialbe。当e为Chyb类型时,由于构造函数填充了数据,我们可以解决Chyb类中的所有变量吗?

程序在这里:

class Chyb{
  String message;
  int importance;

  Chyb(String m, int i){
    message= m;
    importance = i;
  }
}

class InfoChyb {
  String message[] = {
    "Input error",
    "output error",
    "disk is full",
    "Index is out of range"
 };
 int howBad[] = { 3, 3, 2, 4 };

 Chyb getInfoMessage(int i) {
   if(i >=0 & i < message.length)
     return new Chyb(message[i], howBad[i]);
   else
     return new Chyb("Not valid code" , 0);
  }
 }


class InfoChyb {
  public static void main(String args[]){
    InfoChyby chyb = new InfoChyby();
    Chyb e;

    e = chyb.getInfoMessage(2);
    System.out.println("Importance of message " + e.message+ ":" + 
    e.importance);
    e = chyb.getInfoMessage(19);
    System.out.println("Importance of message " + e.message+ ":" + 
    e.importance);
  }
 }

1 个答案:

答案 0 :(得分:1)

我会尽力回答这个问题,但是在每一点上都有很多肯定,所以请在这里忍受。

  
      
  1. 类Chyb只是具有两个变量String和int以及一个构造函数的普通类。
  2.   

正确

  
      
  1. InfoChyby类具有两个类型为String和int的变量(字段)
  2.   

这些变量是数组String[]int[]

  
      
  1. 方法zjistiInfoChyby属于Chyb类型,属于类,之所以如此,是因为它需要返回两个不同类型的String和int值。 [...]
  2.   

方法zjistiInfoChyby的返回类型为Chyb

  
      
  1. [...]然后,该方法返回类型为Chyb的新对象,这意味着它调用类Chyb的构造函数并将值传递到方括号中,对吧?
  2.   

您实例化一个Chyb来保存值。如果参数中提供的索引正确,则可以从数组zpravy[]jakzle[]中获得索引,或者返回具有“默认值” return new Chyb("Neplatny kod chyby" , 0);

的实例
  
      
  1. InfoChyb类具有main方法并运行程序。 [...]
  2.   

是的,main方法可以在任何类中。

  
      
  1. [...]我们定义了Chyb类型的变量e,这是因为此值将具有返回的方法zjistiInfoChyby的内部链接,该方法包含两个String和int类型的变量。
  2.   

声明Chyb来保存方法调用的结果。