2013-04-01 2 views
1
class MyClass { 
    int value; 
} 
public MyClass test(){ 
    MyClass mc; 
    myMethod(mc, 100); 
    if (mc!=null) { 
     mc = mc.value; 
     return mc; 
    } 
    return mc; 
} 
public int myMethod(MyClass mc, int a) { 
    mc.value = a + 10; 
    return mc; 
} 

Я хочу сделать mc ссылкой. Если цель-c похожа на это:Невозможно указать класс в java

public MyClass test(){ 
    MyClass *mc; 
    myMethod(&mc, 100); 

} 

Пожалуйста, помогите мне. Любой ответ оценен. Заранее благодарю.

+0

Если методы быть частью MyClass класса или другого класса? Потому что, если они принадлежат MyClass, синтаксис используется неправильно. –

+0

MyClass ниже - тип возвращаемого значения тестовой функции. – Fiemhong

ответ

1

В java мы используем контрольные переменные вместо указателей. См this и this

class MyClass 
{ 
    int value; 

/*All methods have to belong to a class*/ 

public MyClass test() 
{ 
/*MyClass mc; you don't need to pass this to assign value the value will be 
assigned to the data members of the object(reference variable) which calls the 
function*/  

MyClass mc = myMethod(100); 
return mc; 
} 

public MyClass myMethod(int a) 
{ 
    value = a + 10; 
    return this; //This 'this' will return the current object 
} 
} 
Смежные вопросы