2013-11-24 4 views
1

Пример кода:Что такое объект? Где объект здесь?

PrintMethod.java

public class PrintMethod { 
    void print (String s) { 
     System.out.print(s); 
    } 
} 

PrintS.java

class PrintS { 
    public static void main(String[] args) { 
     PrintMethod pm = new PrintMethod(); //i know this is how you make a new object, but 
     pm.print("Hello"); 
    } 
} 

Где объект здесь? Я смотрел по всему Интернету, но то, что говорит мой учитель, отличается от того, что я нашел. Помогите?

И в чем же разница между объектом и классом? Если PrintS и PrintMethod являются объектами? Я думал, что объект является экземпляром класса? Мне очень жаль, мне просто нужна эта тема, чтобы быть кристально чистым.

+0

не могли бы вы уточнить, что ваш вопрос? – Buddha

+0

Что вы нашли? Каково ваше мнение учителя? –

+2

Объект является (любым) экземпляром класса. Здесь есть несколько объектов, таких как: массив строк, переданный как аргумент (и любые строки, которые он содержит), экземпляр «PrintMethod», созданный с помощью оператора * new * и строки «Hello». 'System.out' также оценивает объект. – user2864740

ответ

2

Object является план из Class который создается в динамической памяти. Чтобы получить доступ к этим объектам, мы используем references в Java-коде.

Таким образом, мы не имеем прямого доступа к объектам в Java-коде. Это reference, к которому мы обращаемся и используем.

В вашем случае pm представляет собой всего лишь reference экземпляру PrintMethod, размещенному в памяти кучи. Но "Hello" является буквальным экземпляром String, который создается в пуле String.

3

Я думаю, что лучший ответ, который вы можете получить, можно найти в official docs:

Новый оператор инициализирует класс путем выделения памяти для нового объекта и возвращает ссылку на эту память. Новый оператор также вызывает конструктор объекта.

Примечание: Фраза «создание экземпляра класса» означает то же, что и « « создание объекта ». При создании объекта вы создаете «экземпляр» класса, поэтому «экземпляр» класса. Новый оператор возвращает ссылку на созданный объект.

В вашем случае pm является ссылка на объект типа PrintMethod. Когда вы делаете pm = new PrintMethod(), вы являетесь строительство a новый объект.

См. Часть Using Objects в официальных документах.


Разъяснение: Когда вы говорите класса, обычно относятся к коду, это просто кусок кода. Но когда вы говорите объект, вы имеете в виду экземпляр этого класса. Каждый объект «принадлежит» классу.

Например, класс по названию Car. У всех автомобилей есть колеса. Номер Car будет конкретный автомобиль, скажем toyota. Таким образом, toyota в настоящее время является экземпляром из Car.

+0

так что 'print' является/объектом? потому что вы сказали, что 'pm' является ссылкой на _an_ объект типа' PrintMethod' – user3026693

+0

@ user3026693 Нет, 'print' - это метод, определенный в классе' PrintMethod'. См. Мое редактирование, это может прояснить ситуацию. – Maroun

+1

Спасибо за это. Я понимаю это лучше. Я уже был в порядке с моей идеей о том, что представляет собой объект, пока одноклассник не сказал, что переменная 's' является _the_ объектом, и мой учитель принял ее как правильную (он никогда не упоминал, что в образце кода, который он дал, были другие объекты, кроме переменная 's'). Спасибо. – user3026693

0

PrintMethod pm = new PrintMethod();

левая часть называется декларацией и правая часть называется ссылка, где new выделивший память>

0

Мы можем определить объект в 4-х направлениях.

1) Объект является экземпляром класса (экземпляр не что иное, как выделение достаточного пространства объем памяти для членов данных и методов класса)

2) Каждый переменной класса также известны как объекты ,

3) Голубой оттиск класса известен как объект.

4) Каждый сгруппированных Item известен как объект (вы знаете, сгруппированных элемент является переменной, которая позволяет хранить несколько значений одного и того же типа или другого типа или оба сразу)

Зв,

Здесь я дам небольшое объяснение того, что является объектом.

дорогой друг «Вы видели дерево» ?????

Большинство людей говорят, что видели дерево. Но Ответ Нееет ....

Вы никогда не видели дерево, но вы видели виды дерева, как банановое дерево, Яблоня ... и т.д.

Так вот, если вы понимаете, есть очень хорошая красота Это .

Итак, дерево - это план, а типы деревьев - это объекты. Итак, теперь скажите мне, существует ли дерево. Нет, это просто план и основанный на этом плане типы деревьев можно посадить.

Класс - это синяя печать и на основе класса может быть создано множество объектов. Поэтому всегда помните, что «класс имеет логическое существование» и «Объект имеет физическое существование»

0

Объекты являются строительными блоками программы OO. Программа, использующая Технология OO - это в основном коллекция объектов.

Каждый Объект состоит из данных & поведения.

Данные объекта: Данные, хранящиеся в объекте, представляют состояние Объект. В терминологии программирования OO эти данные называются Атрибуты.

Поведение объекта: поведение объекта - это то, что может сделать объект. В терминологии программирования OO эти поведения содержатся в методах, и вы вызываете метод, отправляя ему сообщение.

Также я согласен с «Марун Марун».

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