try putting your main method into the Static_demo class, and remove the inner class where you've actually put it in.
stultuske
Posting Sensei
3,137 posts since Jan 2007
Reputation Points: 1,114
Solved Threads: 433
Apart from what stultuske said , I think you are executing static_demo class. Instead run static_demo1 class. Also you need to create object of static_demo in main(). What is x1 ? You should be calling it as static_class.show().
since it would be in the same class file, he could just use
show();
for the anothershow() method, he should indeed create an instance of Static_demo instead of an instance of a (as far as we know not existing) x1.
as for the other one, don't say: apart from -> that means, do both.
if he moves the main method to the Static_demo class and then tries to run the static_demo1 class, he would get exactly the same error, since: the main method will not be found
stultuske
Posting Sensei
3,137 posts since Jan 2007
Reputation Points: 1,114
Solved Threads: 433
can you post your current code?
stultuske
Posting Sensei
3,137 posts since Jan 2007
Reputation Points: 1,114
Solved Threads: 433
thank you very much for the reply.
Stultsuke .i have done whatever u have suggested .but the same error is coming.
is there problem with my netbeans?
its 7.0.1
whenever i m writing any program on it ,it is showing the same error ,"Could not find or load main class"
i m new to java ,i cant understand what is the error.
please suggest me.
hmm well as far as i see the problem is how you are doing your main method, beacuse in your code it is placed wrongly. a standard java program should be like this:
package javaapplication14;
public class JavaApplication14 {
private static void printhello() {
System.out.println("Hello");
System.exit(0);
}
public static void main(String[] args) {
printhello();
}
}
use that code and see if it will run which it should if not your netbeans is messed!
also if you want to add another class it should be done like this:
package javaapplication14;
public class JavaApplication14 {
private static void printhello() {
System.out.println("Hello");
}//end of printhello()
public static void main(String[] args) {
printhello();
printbye.bye();//calling method in printbye class
System.exit(0);
}//end of main
public static class printbye {
private static void bye() {
System.out.println("Bye");
}//end of bye()
}//end of printbye class
}//end of JavaApplication14 class
please note that my main class 'JavaApplication14' contains the main method and not the 'printbye' class. A java app may only have one main method in its main class, it cant have a main class with a sub class that holds the main method! main method must be present in you main class. also not all classes are enclosed within my main class.
DavidKroukamp
Practically a Master Poster
693 posts since Dec 2011
Reputation Points: 282
Solved Threads: 169
mmm... the last two posts didn't really give any advice that wasn't given already.
Since the OP said he/she did all that, and it still doesn't work:
@OP: if you still have the problem, could you post the code you have now?
stultuske
Posting Sensei
3,137 posts since Jan 2007
Reputation Points: 1,114
Solved Threads: 433
look at your classes... you have the main method defined in the class that is not the main...
you class structure should look like this:
//import java.lang.*;
package static_demo1;
public class Static_demo1 {
private static void show() {
}
public static void main(String[] args) {
}
}
class static_demo2 {
public void anothershow() {
}
}
DavidKroukamp
Practically a Master Poster
693 posts since Dec 2011
Reputation Points: 282
Solved Threads: 169
you still have not done what I suggested. the problem is, your compiler searches for the main method within the public class Static_demo, but it is not inside that class.
move the main method to the public class
class static_demo2
{
public static void main(String[] args)
{
show();
static_demo2 v=new static_demo2();
v.anothershow();
}
}
move the main method outside of this inner class, like this:
public static void main(String[] args)
{
show();
static_demo2 v=new static_demo2();
v.anothershow();
}
class static_demo2
{
}
and, you'll need an anothershow method in your inner class.
stultuske
Posting Sensei
3,137 posts since Jan 2007
Reputation Points: 1,114
Solved Threads: 433
if you have another example to show static method give suggest me.
i'd also just like to say, the problem you are having is not about static methods...
Static means that only one of it can exist. main() method will always be static as we cant have two main methods in a single class.
The problem you are dealing with is that you have put your main method in a sub class and not the main class. the main class is defined by the name of the file which the source code is present...your main class is: 'Static_demo1' where as your sub class is: 'static_demo2' and that is the class in which your main() is present i hope this helps to understand your problem better.
DavidKroukamp
Practically a Master Poster
693 posts since Dec 2011
Reputation Points: 282
Solved Threads: 169
//import java.lang.*;
package static_demo1;
public class Static_demo1 {
int a=10;
static int b=20;
private static void show()
{
System.out.println("the value of b:"+b);
}
private void anothershow()
{
System.out.println("value of a"+a);
}
}
class static_demo2
{
public static void main(String[] args)
{
show();
static_demo2 v=new static_demo2();
v.anothershow();
}
}
this is my present code.i m not able to get the solution to the error"main class not found".as i newbie to java,i want to do an static example .so please help me
your show() and anothershow() methods should be public and not private or else your code in static_demo2 cannot access them. also this here :
static_demo2 v = new static_demo2();
should be:
Static_demo1 v=new Static_demo1()
the reason is because anothershow() is located in the class Static_demo1 and not static_demo2.
also accessing your show() method like this
show();
does not work as its not located in the static_demo2 class it should be:
Static_demo1.show();
and lastly your main method in static_demo2 should be moved too Static_demo1 class, as thats your main class hence the error message main method not found in Static_demo1-thus eliminating the use for static_demo2.. if you would like to retain static_demo2, then move all the methods located in Static_demo1 to static_demo2. then move the main method in static_demo2 to Static_demo1 and rename the names in main method from Static_demo1 to static_demo2.
I cant give you the code but heres some guideline after all the editing your structure should resemble this:
public class Static_demo1 {
public static void main(String[] args) {
static_demo2.sho..........
static_demo2 v=......
v.ano.......
}
}
class static_demo2 {
int y;
static int x;
public static void show() {
}
public void anothershow() {
}
}
DavidKroukamp
Practically a Master Poster
693 posts since Dec 2011
Reputation Points: 282
Solved Threads: 169
//import java.lang.*;
package static_demo1;
public class Static_demo1 {
int a=10;
static int b=20;
private static void show()
{
System.out.println("the value of b:"+b);
}
private void anothershow()
{
System.out.println("value of a"+a);
}
}
class static_demo2
{
public static void main(String[] args)
{
show();
static_demo2 v=new static_demo2();
v.anothershow();
}
}
this is my present code.i m not able to get the solution to the error"main class not found".as i newbie to java,i want to do an static example .so please help me
we have repeatedly told you what the problem is and (with code examples) how to solve it. try, if need be, step by step to do what we suggested.
cOrRuPtG3n3t!x was friendly enough to, yet again, repeat it one more time, now please, be so kind as to read his post and do as he suggests, step by step, so you can see the differences in result.
stultuske
Posting Sensei
3,137 posts since Jan 2007
Reputation Points: 1,114
Solved Threads: 433