wood burning stoves 2.0*
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 Murach's Java Servlets and JSP this week in the Servlets 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

I agree. Here's the link: http://aspose.com/file-tools
subject: Calling static method from main
Similar Threads
chapter 3 self test question 5, K&B
help me in understanding this program
explain this code
Passing References