Home     |     Java    |     Php General    |     Oracle Database    |     Oracle Server  

MS Dynamics CRM 3.0

  •  Setting up and Configuring Microsoft Dynamics CRM 3.0
  •  Managing Security and Information Access
  •  Entity Customization: Concepts and Attributes
  •  Entity Customization: Forms and Views
  •  Entity Customization: Relationships, Custom Entities, and Site Map
  •  Reporting and Analysis
  •  Workflow
  •  Server-Side SDK
  •  Client-Side SDK
  •  Integration with External Applications
  • Cervo Technologies
    The Right Source to Outsource

    Sharepoint Portal Server KB

    Microsoft CRM Info

    WPF Interview Questions

    SilverLight Interview Qs

    Asp.Net 2.0 Interview Qs

    Asp.NET 1.1 FAQs

    Oracle Interview Questions

    SAP Interview Questions

    Java Programming

    Is this a local anonymous class or a member anonymous class


    I read that an anonymous class is an unnamed local class.

    However, in the example below, I have created what I believe to be an
    anonymous class that is a member class, not a local class.  Anyone
    want to comment?

    package anonymousexample3a;

    public class Main {

        ClassA anonB_Object = new ClassA("Hello" ) {
            // The original Display Method
            public void Display(){
                System.out.println("Inherited Anonymous Overridden MEMBER
    Display ClassA Output:"+Message);
            }
        };

        public Main() {
            ClassA classA_Object = new ClassA("Hello");

            // Display the Anonymouse Version
            classA_Object.Display();

            ClassA anonA_Object = new ClassA("Hello" ) {
                // The original Display Method
                public void Display(){
                    System.out.println("Inherited Anonymous Overridden
    LOCAL Display ClassA Output:"+Message);
                }
            };

            // Display the Anonymouse Class Based on ClassA
            anonA_Object.Display();

            anonB_Object.Display();
        }

        public static void main(String[] args) {
            Main example = new Main();

        }

    }

    class ClassA {
        String Message = "";
        public ClassA(String aMessage){
            Message = aMessage;
        }

        // The original Display Method
        public void Display(){
            System.out.println("Basic ClassA Output:"+Message);
        }

    Reporter wrote:
    > I read that an anonymous class is an unnamed local class.

    Where?

    > However, in the example below, I have created what I believe to be an
    > anonymous class that is a member class, not a local class.  Anyone
    > want to comment?

    Well it's not a member class, it is? It's a member *variable* which is
    an instance of an anonymous class.

    An anonymous class is an unnamed class. By definition. Whether the
    *instance* is local or a member has nothing to do with what the class is.

    On May 11, 6:33 pm, Esmond Pitt <esmond.p@nospam.bigpond.com>
    wrote:

    > Reporter wrote:
    > > I read that an anonymous class is an unnamed local class.

    > Where?

    > > However, in the example below, I have created what I believe to be an
    > > anonymous class that is a member class, not a local class.  Anyone
    > > want to comment?

    > Well it's not a member class, it is? It's a member *variable* which is
    > an instance of an anonymous class.

    > An anonymous class is an unnamed class. By definition. Whether the
    > *instance* is local or a member has nothing to do with what the class is.

    Java in a Nutshell
    Third Edition

    by David Flanagan

    Chapter 3: Object-Oriented Programming in Java
    3.12. Anonymous Classes
    "An anonymous class is a local class without a name."

    "Reporter" <TruckSaf@gmail.com> wrote in message

    news:1178929062.373078.203250@p77g2000hsh.googlegroups.com...

    >I read that an anonymous class is an unnamed local class.

    > However, in the example below, I have created what I believe to be an
    > anonymous class that is a member class, not a local class.  Anyone
    > want to comment?

    Let's see.  A member class is defined within the scope of its containing
    class  Depending on its protection level, it might be visible within the
    class, the package, or the world.  A local class is defined within a method
    and is visible only within that method.  Of course, since anonymous class
    have no names, you can't sensibly discuss what scope they're defined in.

    You seem to have found an edge case.  I suggest that since your

    public class Main {

       ClassA anonB_Object = new ClassA("Hello" ) {
           // The original Display Method
           public void Display(){
               System.out.println("Inherited Anonymous Overridden MEMBER
    Display ClassA Output:"+Message);
           }
       };

    is the moral equivalent of

    public class Main {

       ClassA anonB_Object;

        init {
          aonB_Object = new ClassA("Hello" ) {
           // The original Display Method
           public void Display(){
               System.out.println("Inherited Anonymous Overridden MEMBER
    Display ClassA Output:"+Message);
           }
        }
       };

    that your anonyomus class is local to the (implied) init block.  I don't
    insist in this, but I think it's simpler than defining yet another kind of
    inner class.

    Add to del.icio.us | Digg this | Stumble it | Powered by Megasolutions Inc