Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для M@k7
7 / 7 / 1
Регистрация: 17.10.2011
Сообщений: 165

Как создать ссылку на обект?

28.01.2013, 03:14. Показов 1726. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как создать ссылку на место в куче где находится обект?
например если есть
int a=10;
и какой то обект b
то чтоб когда написать b=9 то переменная а тож будет показывать 9
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.01.2013, 03:14
Ответы с готовыми решениями:

Можно ли создать глобальный обект, вызвав для него закрытый конструктор?
Можно ли создать глобальный объект, вызвав для него закрытый конструктор? Как?

Как в AS3 создавать, дублировать и удалять обект из формы?
Как в AS3 создавать, дублировать и удалять обект из формы??? 1) как создать объект через AS3 2) как сделать дубликат объекта, если...

Как правильно извлечь данные из вектора и поместить в обект CStepMove
Дорого времени суток. В общем у меня такая проблемма. Есть родительский класс CStep. У него есть наследник CStepMove. Создаю вектор: ...

9
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
28.01.2013, 07:22
Цитата Сообщение от M@k7 Посмотреть сообщение
то чтоб когда написать b=9 то переменная а тож будет показывать 9
Чего?

Java
1
Object b = 9;
0
 Аватар для M@k7
7 / 7 / 1
Регистрация: 17.10.2011
Сообщений: 165
28.01.2013, 13:18  [ТС]
переманная ссылается не место в куче
как сделать так чтоб и b ссылалась на тоже место
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
28.01.2013, 13:32
Если переменная не примитивного типа (локальные переменные примитивного типа хранятся в стеке, а не в куче) то просто пишите b = a;
1
 Аватар для M@k7
7 / 7 / 1
Регистрация: 17.10.2011
Сообщений: 165
28.01.2013, 13:54  [ТС]
У меня переманая класа
пишу
Java
1
2
3
4
5
6
7
8
9
class My_class
{
 int a;
 My_class next;
}
My_class A = new My_class();
A.a=5;
My_class B=A;
A.a=10;
В B.a по прежнему 5
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
28.01.2013, 14:13
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class MutableLink {
    
    private int iPrimitive;
    private Integer iObject;
    public int getiPrimitive() {
        return iPrimitive;
    }
    public void setiPrimitive(int iPrimitive) {
        this.iPrimitive = iPrimitive;
    }
    public Integer getiObject() {
        return iObject;
    }
    public void setiObject(Integer iObject) {
        this.iObject = iObject;
    }
    
    @Override
    public String toString() {
        return "MutableLink [iPrimitive=" + iPrimitive + ", iObject=" + iObject
                + "]";
    }
    
    public static void main(String[] args) {
        MutableLink a = new MutableLink();
        a.setiObject(1);
        a.setiPrimitive(1);
        MutableLink b = a;
        a.setiObject(2);
        a.setiPrimitive(2);
        System.out.println(a);
        System.out.println(b);
    }
 
}
MutableLink [iPrimitive=2, iObject=2]
MutableLink [iPrimitive=2, iObject=2]
1
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
28.01.2013, 15:14
Цитата Сообщение от M@k7 Посмотреть сообщение
В B.a по прежнему 5
Вы заблуждаетесь - http://ideone.com/EB8VXT
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class My_class
{
    int a;
    My_class next;
}
 
class Main
{
    public static void main (String[] args)
    {
        My_class A = new My_class();
        A.a=5;
        My_class B=A;
        A.a=10;
        System.out.println(B.a);
    }
}
Вывод:
10
1
 Аватар для M@k7
7 / 7 / 1
Регистрация: 17.10.2011
Сообщений: 165
28.01.2013, 15:20  [ТС]
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package os;
 
class Typ
{
    Typ prev;
    int data;
    Typ next;
}
class Spusok
{
    void Add(Typ s, int a)
    {
        while (s.next!=null)
        {
            s=s.next;
        }
        if (s.data==0)
        {
            s.data=a;
            s.prev=null;
        }
        else
        {    
            s.next=new Typ();
            s.next.data=a;
            s.next.prev=s;
        }
    }
    void Print(Typ s)
    {
        while (s.next!=null)
        {
            System.out.print(s.data+" ");
            s=s.next;
        }
        System.out.print(s.data+" ");
        System.out.println();
    }
    void Dell(Typ s,int a)
    {
        if (s.data!=0)
        {
            if (a==1)
            {
                s=s.next;
            }
        }
    }
}
public class Os 
{
 
    public static void main(String[] args) 
    {
        Typ T = new Typ();
        Spusok S = new Spusok();
        
        S.Add((T), 1);
        S.Add((T), 2);
        S.Add((T), 3);
        S.Print(T);
        
        S.Dell(T, 1);
        S.Print(T);
    }
}
Почему здесь метод S.Dell(Typ, int);
не удаляет первый элемент?
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
29.01.2013, 07:06
В методе Dell вы меняете саму локальную переменную s.
При выходе из метода s исчезает как и все изменения которые вы с ней сделали.
1
 Аватар для M@k7
7 / 7 / 1
Регистрация: 17.10.2011
Сообщений: 165
29.01.2013, 15:23  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
В методе Dell вы меняете саму локальную переменную s.
При выходе из метода s исчезает как и все изменения которые вы с ней сделали.
s это ссылка но всёравно спасибо

Ошыбка была в том что начальный адрес переменной s изменяется и не присваивается в S
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.01.2013, 15:23
Помогаю со студенческими работами здесь

Как создать ссылку в C#?
В C++ для создания ссылки достаточно напечатать следующий код: int a = 7; int &b = a; Как также просто создать ссылку в C#?

Как создать ссылку на объект?
Имеется программа WPF. Есть 2 файла MainWindow.cs в нем создаются экземпляры классов и выполняются методы описанные в Class1.cs ...

Как создать ссылку на форме
Здравствуйте. Как создать ссылку на форме которая была заполнена на основании документа. Нужна обратная ссылка ссылающиеся на документ как...

Как создать символьную ссылку?
создание на файл Alpha символьной ссылки с именем SALP в корневом каталоге:wall::help:

Как программно создать ссылку?
как прогаммно создать ссылку?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru