2014-09-10 6 views
-1

Я новичок в Java, поэтому я уверен, что это простой вопрос (моя голова крутится от учебы в течение всего дня). Вот код, я учусь и не могу вспомнить/выяснить, что эта строка кода делает:using инструкция конструктора (конструктор?)

public Temperature(String type, double degrees) { 
if (type.equalsIgnoreCase("C")) 

Это считается конструктор? Каковы два параметра: «String type, double degrees»? ТИА.

Вот код сверху вниз:

public class Temperature { 
private double degreesFahrenheit; // Fahrenheit temperature 
private double degreesCelsius; // Celsius temperature 
private double degreesKelvin; // Kelvin temperature 

/** * This constructor for Temperature sets the temperature 
* values to the value from degrees, based on the type * 
* @param type temperature scale to use 
* @param degrees degrees Fahrenheit 
*/ 

public Temperature(String type, double degrees) { 
if (type.equalsIgnoreCase("C")) 
setDegreesCelsius(degrees); 
else if (type.equalsIgnoreCase("F")) setDegreesFahrenheit(degrees); 
else if (type.equalsIgnoreCase("K")) setDegreesKelvin(degrees); 

...

ответ

0

Да! Это:

public Temperature(String type, double degrees){ 
    ... 
} 

является конструктором.

В основном то, что он при вызове, чтобы создать новый объект температуры и установить некоторые поля в классе по:

1) Проверить, если arguement type является C или c, F или f, K или k и

2) appropriatelly вызывать методы:
setDegreesCelsius(degrees);, setDegreesFahrenheit(degrees); и setDegreesKelvin(degrees); respectivelly.

Вы не писал код для этих методов, но его наиболее вероятно, что:

если вход C присвоить degreesCelsius; значение degree arguement вашего конструктора.

Аналогичен, если F к degreesFahrenheit; и если K к degreesKelvin;

Определению этих методов, вероятно, выглядят следующим образом:

setDegreesCelsius(double degrees){ 
    this.degreesCelsius = degrees; 
} 

Надеется, что это помогает.

Update после Вашего комментария:

public Temperature(String type, double degrees), что конструктор принимает только 2 заданы параметры. a String и double. Там есть так, что вы можете создать экземпляр Temperature, а также установить значения некоторых филей.

Например, этот код:

Temperate x = new Temperature("C", 35); означает, что x является объектом Temperature и рассчитывает в Celcious масштабе, а текущая температура 35.

Надежда это имеет смысл

+0

полезно, но все еще борется. Что/что там делает «String type, double degree»? Я не сталкивался с этим раньше (я не думаю). – bluewater

+0

Да, имеет больше смысла. Большое спасибо. – bluewater

Смежные вопросы