Get the tools you need to learn Java skills fast!
Video tutorials, eBooks, hands-on lab exercises, sample code.
Get started
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Calling static method from main Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Badass: Making Users Awesome this week in the Game Development forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Calling static method from main" Watch "Calling static method from main" New topic

Calling static method from main

SimonJ Birch

Joined: Jun 01, 2006
Posts: 10
I've got a query regarding calling a static method from the main method. Why in this program is the method FizzSwitch() static.....

class Fizz {
int x = 5;
public static void main(String[] args) {
final Fizz f1 = new Fizz();
Fizz f2 = new Fizz();
Fizz f3 = FizzSwitch(f1,f2);
System.out.println((f1 == f3) + " " + (f1.x == f3.x));
static Fizz FizzSwitch(Fizz x, Fizz y) {
final Fizz z = x;
z.x = 6;
return z;

....when in this program....

class Eggs {
int doX(Long x, Long y) { return 1; }
int doX(long... x) { return 2; }
int doX(Integer x, Integer y) { return 3; }
int doX(Number n, Number m) { return 4; }
public static void main(String[] args) {
new Eggs().go();
void go() {
short s = 7;
System.out.print(doX(s,s) + " ");

... the method go() isn't static even though it is being called from main?


shuba karthik

Joined: Sep 03, 2004
Posts: 14

Without an instance of an object you can never access a non static method from a static context.
In the second program new Eggs() will create an instance of Eggs.
In other words you have created an object of Eggs.
Hope this clarifies your doubt.

SimonJ Birch

Joined: Jun 01, 2006
Posts: 10
That makes it clearer.

Thanks Shuba

It is sorta covered in the JavaRanch Style Guide.
subject: Calling static method from main