class Subclass extends MainClass {

    void doSomething() {
        System.out.println("---------- In Subclass:");
        
        println(publicStaticString);   // legal--everything defined in MainClass
        println(packageStaticString);  // legal--everything defined in MainClass
//        println(privateStaticString);  // illegal--private in MainClass
        
//         println(publicString);     // illegal--does not send to an object
//         println(packageString);    // illegal--does not send to an object
//         println(privateString);    // illegal--does not send to an object
        
        MainClass main = new MainClass();  // construct a MainClass object
        println(main.publicString);   // legal--sends a message to object main
        println(main.packageString);  // legal--sends a message to object main
//        println(main. privateString); // illegal--private in MainClass


        Subclass sub = new Subclass(); // construct a MainClass object
        println(sub.publicString);     // legal--sends a message to object sub
        println(sub.packageString);    // legal--sends a message to object sub
//        println(main.privateString);   // illegal--string not inherited

//        printMessage("No object in sight");  // illegal--private in MainClass
        main.printMessage("This message brought to you by object "); // legal
        sub.printMessage("This message brought to you by object ");  // legal
    }
}
        

