Java vypros
5 отговора
87 прегледа
Java vypros
Moje li na Java da se podavat parametri na funkciq by reference, taka che funkciqta da updateva vynshni za neq promenlivi?
Re: Java vypros
Da ! Ako poadwash parametar , kojto e instanciq na nqkakw class winagi rabotish s reference kum obekta taka! No ako e elementaren tip ne move !
Kakto pti C !!
Kakto pti C !!
Re: Java vypros
Java podava vsi4ki argumenti "by value" ne "by-reference", kakto i lipsvat pointeri
obqsni po podrobno kakvo iskash da postignesh a predi tova razgledai sledniqt primer ot Java Lang FAQ
import java.awt.Point;
class changePoint {
public static void main(String args[]) {
Point p1 = new Point(0, 0);
changePoint(p1);
System.out.println(p1);
}
static void changePoint(Point p) {
p.x = 38;
p.y = 97;
}
}
Uspeh
bofh
obqsni po podrobno kakvo iskash da postignesh a predi tova razgledai sledniqt primer ot Java Lang FAQ
import java.awt.Point;
class changePoint {
public static void main(String args[]) {
Point p1 = new Point(0, 0);
changePoint(p1);
System.out.println(p1);
}
static void changePoint(Point p) {
p.x = 38;
p.y = 97;
}
}
Uspeh
bofh
Re: Java vypros
Kakto kazawa edin kolega po gore w Java obektite winagi se predawat po reference a prostite tipowe se predawat winagi po stojnost. Za da se izbegne wtoria warian moje da podawash masiw s razmer 1. Naprimer:
class Parametr
{
int [1] myNumber;
void myFunc(int[] par)
{
par[0] = 10;
}
void main(String[] args)
{
myNumber[0] = 1;
myFunc(myNumber);
}
}
class Parametr
{
int [1] myNumber;
void myFunc(int[] par)
{
par[0] = 10;
}
void main(String[] args)
{
myNumber[0] = 1;
myFunc(myNumber);
}
}
Re: Java vypros
ami ne:)
call-by-value e samo za elementarnite tipove danni (int, long, char...), a za vsichki drugi (vkl. arrays ot elem. tip) e call-by-reference, demek ne kopie na "obekta" a referencia (kakto v C) kym nego...
call-by-value e samo za elementarnite tipove danni (int, long, char...), a za vsichki drugi (vkl. arrays ot elem. tip) e call-by-reference, demek ne kopie na "obekta" a referencia (kakto v C) kym nego...
Re: Java vypros
Да обекти се предават by reference а прости/елементарни типове (int, byte, char) by value.
И в Java няма функции има методи на класа. :-)
Ако искаш да предадеш няколко елементарни типа на метод и метода да ги модифицира можеш да използваш и съответните класове (всеки елементарен тип си има клас) int има клас Integer, byte - Byte i .т.н. Можеш да ги използваш тях
И в Java няма функции има методи на класа. :-)
Ако искаш да предадеш няколко елементарни типа на метод и метода да ги модифицира можеш да използваш и съответните класове (всеки елементарен тип си има клас) int има клас Integer, byte - Byte i .т.н. Можеш да ги използваш тях