Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
1 / 1 / 0
Регистрация: 23.08.2015
Сообщений: 216
1

Подскажите, где нужно искать конструктор класса Object?

28.07.2016, 01:56. Просмотров 345. Ответов 5
Метки нет (Все метки)

Всем привет! Изучаю java совсем недавно. Заинтересовал один фундаментальный момент - в исходнике класса Object нет конструктора, хотя, по идее согласно API, он должен там быть. Подскажите, где этот конструктор нужно искать? Вот исходный код класса Object:

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
package java.lang;
 
public class Object {
 
    private static native void registerNatives();
    static {
        registerNatives();
    }
 
    public final native Class<?> getClass();
 
    public native int hashCode();
 
    public boolean equals(Object obj) {
        return (this == obj);
    }
 
    protected native Object clone() throws CloneNotSupportedException;
 
    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
 
    public final native void notify();
 
    public final native void notifyAll();
 
    public final native void wait(long timeout) throws InterruptedException;
 
    public final void wait(long timeout, int nanos) throws InterruptedException {
        if (timeout < 0) {
            throw new IllegalArgumentException("timeout value is negative");
        }
 
        if (nanos < 0 || nanos > 999999) {
            throw new IllegalArgumentException(
                                "nanosecond timeout value out of range");
        }
 
        if (nanos >= 500000 || (nanos != 0 && timeout == 0)) {
            timeout++;
        }
 
        wait(timeout);
    }
 
    public final void wait() throws InterruptedException {
        wait(0);
    }
 
    protected void finalize() throws Throwable { }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.07.2016, 01:56
Ответы с готовыми решениями:

Подскажите где искать и что искать
Необходимо реализовать простенький на мой взгляд скрипт. Он должен выполнять следующее: Зашел...

Подскажите, где искать pf.conf (в /etc нет) Pfsense 2.0
Дано #uname -a FreeBSD pfsense.local 8.1-RELEASE-p6 FreeBSD 8.1-RELEASE-p6 #0: Mon Dec 12...

Обмен данными с 1с. Подскажите где ошибку искать
Здравствуйте! Очень нужен совет: как исправить или хотя бы как диагностировать? Ситуация. Выгрузка...

Подскажите, где искать ошибку? и в чем она может быть?
Задача 'Синхронизация папок с подпиской для &quot;.........&quot;.' сообщила об ошибке (0x8004DF0B) :...

5
64 / 64 / 26
Регистрация: 07.01.2016
Сообщений: 374
28.07.2016, 02:46 2
tst,
Если в классе явно не указан конструктор, по умолчанию принимается пустой конструктор.
Java
1
2
public class Object {
}
и
Java
1
2
3
4
public class Object{
public Object () {
}
}
то же самое
1
1 / 1 / 0
Регистрация: 23.08.2015
Сообщений: 216
28.07.2016, 02:51  [ТС] 3
Понятно, спасибо. А где в библиотеке Java реализован код этого "если"- в каком классе?
0
Эксперт Java
2345 / 2178 / 555
Регистрация: 28.12.2010
Сообщений: 8,526
28.07.2016, 08:56 4
tst, нигде. Конструктор это метод, позволяющий запустить дополнительные действия при создании экземпляра класса. В случае если конструктор отсутствует, доп. действий нет и вызывать метод ненужно поэтому его просто нет. Это реализовано на уровне JVM и реализации могут отличатся в разных JVM от разных производителей.
1
64 / 64 / 26
Регистрация: 07.01.2016
Сообщений: 374
28.07.2016, 12:45 5
tst,
Что бы было попонятнее смотри 2 метода
Java
1
2
void Value () {
}
и
Java
1
2
void Value (int a) {
}
при выборе метода ты сам решаешь какой использовать, также и JVM если конструктор пустой то при создании экземпляра класса он берет данные из конструктора по умолчанию то есть
Java
1
2
3
4
public class Object{
    public Object () {
    }
}
а если ты создашь еще и конструктор
Java
1
2
3
4
public class Object{
    public Object (int a) {
    }
}
то при создании экземпляра класса получится
или new Object(); или new Object(int a);
и в каждом конструкторе у тебя могут разные данные.
0
Pablito
28.07.2016, 12:47     Подскажите, где нужно искать конструктор класса Object?
  #6

Не по теме:

думаешь это объяснение понятнее?

0
28.07.2016, 12:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2016, 12:47
Привет! Вот еще темы с ответами:

CMA Hansa Comfort 1000 s/n04424431633906, подскажите где искать
Здравствуйте подскажите пожалуйста где искать CMA Hansa Comfort 1000 s/n04424431633906, делает...

напрочь отсутствует всякая инфа по поддержке не только протокола, но и сокетов на плюсах, подскажите где искать
Не верю, что он вообще возможен. А вот писать на php, например, игру - вот где ужас, даже если она...

Где именно в в объекте класса object хранятся значения
Да, где? Где, например, хранится x? using System; using System.Collections.Generic; using...

Подскажите как создать конструктор класса в котором производится инкрементирование статической переменной!
Ребят Всем Добрых Суток!!! Запнулся на создании перегруженного конструктора, компилятор ни как не...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.