Hi

On Apr 16, 8:38 am, Ryu <[email protected]> wrote:
> Hi to all,
>            Hope everyone is fine .Sorry i know this matter discussed
> lot of times in previous emails and i m reading all the emails and
> apply the techniques that had been discussed in those emails but since
> last week i am jammed at this homework .
>
>             I read that create AddressImpl object in Person class I am
> trying this in different ways .First I did that Person class only
> implements MyOwn Interface and do something like this . I don't
> implements other interfaces because i think its only a matter of
> implements those interfaces methods and that is not difficult because
> they all have int and String type
>
>       public class Person  implements MyOwnInterface {
>
>      AddressInterface address ;
>
>     //Constructor
>     public Person(AddressInterface address){
>         this.address = address;
>
>     public AddressInterface getAddress(){
>         return address;
>     }
>
>    And in mian i tried
>
>     Person person1 = new Person(new AddressImpl());   //You assign
> object that implements interface
>
>    But this gives an error that
>                 can not find symbol
>                 symbol: constructor AddressImpl()
>
I do not see the AdressImpl class, but this error does not find
a constructor without any argument.


>   Then i replace addressImpl with AddressInterface
>
>     Person person1 = new Person( new AddressInterface());
>
> But then it says
>     AddressInterface is abstract ; can not be instantiated
>
The error says all -> only classes can be instantiated.
classes can be assigned to variables defined with the interface.

> Then in Person class i try this
>
>      public Person(){
>         address = new AddressImpl();
>     }
>
>   and second time replace it with AddressInterface but i again get the
> above mentioned errors
>
>    Then i extend the AddressImpl class
>
>     public class Person extends AddressImpl implements MyOwnInterface
> {
>
>      AddressInterface address ;
>
>         public Person(int streetNumber, String streetName, String
> country, AddressInterface address){
>           super(streetNumber, streetName, country);
>          this.address = address;
>      }
>
>     public AddressInterface getAddress(){
>         return address;
>     }
>
> }
>
> But in main what i passed as a 4th parameter when i try to pass an
> instance of class(addressImpl) and interface (AddressInterface) it
> again prompt for an error .
>
The 4th parameter must be an instance of a class which is
implementing
AddressInterface.

>   i also try to create an instance in a single line in Person class
> like
>     AddressInterface address = new AddressIntercae();  and also try
>     AddressImpl address = new AddressImpl();
> but the result is same ERRRRRRRRRooRRRs
Here again. Interfaces can not be instanciated.
>
>    can some body help me why all this happen , where i m wrong , what
> mistake i m doing that i didn't figure out

I think, that your problem is the missing constructor without any
arguments in
AddressImpl. Check the the source of AddressImpl.java or supply the
necessary
arguments you defined, when constructing a new instance of
AddressImpl.

HTH
Ewald

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/javaprogrammingwithpassion?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to