2015-01-10 4 views
-2

В Java, когда вы передаете объект другому объекту (например, pass object1 to object2), будет ли объект 2 наследовать все свойства object1s, такие как методы и переменные, что именно происходит?Передача объектов в Java

+6

Что вы имеете в виду под «передать объект на другой объект», как это очень сомнительное заявление? Пожалуйста, опишите более подробно только то, что вы пытаетесь сделать, и покажите код. –

+0

Показать пример того, что вы имеете в виду. – Kon

+0

Я думаю, что это направлено на этот вопрос: http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value –

ответ

0

IS-A Отношения

Наследование может быть определен как процесс, в котором один object acquires свойства другого. С использованием наследования информация сделана управляемой в иерархическом порядке.

Это означает, что вы можете получить доступ к членам и методам суперкласса в своем подклассе.

class A{ 
    int a; 
    } 

class B extends A{ 

} 

int a получить наследуется в классе B, так что вы можете использовать его в классе BRead more

Вы не можете передать один объект к другому объекту.

объекты программного обеспечения общаются и взаимодействуют друг с другом двумя способами:
1. Позвонив (или призыве) методы друг друга
2. Непосредственно доступ к их переменным.

Read more

+0

«класс B расширяет класс A» не будет компилироваться – Victor2748

+0

@ Victor2748 ohh отредактирован, благодаря тому, что я выделил свою ошибку. –

+0

Спасибо. В чем преимущество передачи (объектов, классов) методу или конструктору, если вместо этого можно использовать наследование? – tyonne

2

В Java Наследование является другое понятие по сравнению с Передача объектов в другой object.Actually вы не можете передать объект на другой объект, вы можете передать объект методов.

Check this для передачи объектов в функции

Вы можете получить доступ к методам экземпляра/Переменные экземпляра с помощью объекта.

class SuperClass{ 
    public void method(){ 
    //.... 
    //... 
    } 
} 

public class Example{ 
    public void example(SuperClass object) 
    { 
     //you cannot directly call super class method 
     //if you want to call then use Object 
     object.method() 
    } 
} 

В Inheritance вы можете получить доступ к переменным экземпляра/методам без использования объекта в этом классе.

class SuperClass{ 
    void method(){ 
     //.... 
     //... 
    } 
} 

class Example extends SuperClass{ 

    public void exampleMethod() 
    { 
     //You can directly call superclass method here 
     method() 
    } 
} 

Для получения более подробной информации о наследовании check

+0

Спасибо, когда вы говорите, что можете получить доступ к объекту, но не все его свойства, что это значит? Какая польза от передачи объекта конструктору или методу, если вы можете просто наследовать? Спасибо – tyonne

+0

отредактировал ответ соответственно .. @tyonne –

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