Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 3 of 3

Thread: Linklist Question

  1. #1
    Junior Member
    Join Date
    Dec 2010
    Location
    Raleigh, NC
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Linklist Question

    Hey all! I'm new here, but hope to stay a while.

    So I have a project I'm working on that requires two different linklists - each with a different list of objects.

    My linklist is composed of nodes that contains the member variables 'Object data' and 'Node link'

    How do I call a getter method on 'data' when it gives me the error "getName() is not defined for the type Object"? It's defined for a different class which the Object holds.


    head = new Node(new Rentable(),null);
    head.data.getName();
    GIVES ME
    "Method getName() is not defined for type Object"
    Last edited by NeedzABetterSN; December 18th, 2010 at 07:35 PM.


  2. #2
    Administrator copeg's Avatar
    Join Date
    Oct 2009
    Location
    US
    Posts
    5,320
    Thanks
    181
    Thanked 833 Times in 772 Posts
    Blog Entries
    5

    Default Re: Linklist Question

    If I understand the problem correctly, your Node class contains its data as a type Object? So even when you create a new Node in the code posted with an object of type Rentable, it's reference is of type Object. So to access the functions defined in Rentable, you must cast the object
    head = new Node(new Rentable(),null);
    ((Rentable)head.data).getName();//should be checked at runtime with something like instanceof to make sure its the correct object or a class cast exception may be thrown.

  3. #3
    Junior Member
    Join Date
    Dec 2010
    Location
    Raleigh, NC
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Linklist Question

    A wholehearted thank you.