0

I am not able to figure out what's wrong with the following code:
Is it a rule to create objects in class that contains main method and then use this object to access the methods?
I did exactly reverse in the following code and i am not able to compile it.

class Twoclass
{
    Oneclass obj1=new Oneclass();
    obj1.show();
}


public class Oneclass
{
  public static void main(String args[])
    {
        System.out.println("Hallowee");
    }
   public void show()
   {
    System.out.println("howjk");
   }
}


 obj1.show();
It is giving the errror as identifier expected on line  obj1.show();

Edited by hszforu

4
Contributors
5
Replies
6
Views
4 Years
Discussion Span
Last Post by hszforu
0

It is giving the errror

Please copy and post the full text of the error message.

Not sure what "rule" you are talking about. There is a rule that the class that you start the program execution with using the java command must have a main() method.

0

Yes. Take the Main method out of Oneclass and put it in Twoclass and it should work as intended.

Also don't forget to use standard naming conventions for class names.

1

You have that error message because you out an executable statement that's not in a method. Executable statements need to be in a method or constructor. That could be main, or any other method that gets called directly or indirectly from main (including constructors).

(Ps: for the experts out there, I'm deliberately ignoring static and instance initialisers as being too advanced to be relevant)

0

@Starstreak: yes i know that it would work that way.What i was asking was , why the code that i wrote was not working?

@JamesCherill: yes i got what you are saying.Now the code works fine.Thanks.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.