What is static method? | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 5

What is static method?

class MyClass { void fun(); { System.out.println("Hello World ") ;} public static void main( String[] args) { MyClass.fun();} } Will this program execute.? If not, why?

13th Sep 2018, 4:20 AM
vinitha chinthalapally
8 Answers
+ 10
Information about static methods 💕 https://www.sololearn.com/learn/Java/2159/
13th Sep 2018, 7:07 AM
NimWing Yuan
NimWing Yuan - avatar
+ 6
https://www.geeksforgeeks.org/static-methods-vs-instance-methods-java/ Static methods vs Instance methods in Java - GeeksforGeeks good luck
13th Sep 2018, 5:36 AM
Charan Leo25
Charan Leo25 - avatar
+ 6
/*your fun method isnt declared static also you have a semicolon after its parenthisis which wont work. try the following in the main class*/ static void fun(){ System.out.print("hello world");} /*you dont need to create an object of class or use class name if the method is declared static in the main class so you can just call this in the main method like so*/ fun();
13th Sep 2018, 7:06 AM
D_Stark
D_Stark - avatar
+ 4
Classes have members, which are either fields or methods. Each member can be either static or non-static / instance bound. If a member is static, then it means, that you need no instance of the class to access that member (value of the field or execute the method). For example: | class Example { | public static void test(String text) { | System.out.println(text); | } | } | You can call the method the following way: | Example.test("Hello World"); | So the syntax is: | <class_name>.<method_name>(<parameters>); The non-static (instance bound) methods can be called only on an instance/object of the given class, like: | class Example { | public void print() { | System.out.println("Hi there."); | } | } | You can call it: | Example e = new Example(); | e.print(); | It cannot be called by the class name as the static method. In points: + Static method needs no instance of the class instance to be called + Non-static methods need an instance of the class to be called + Static methods cannot use the "this" keyword + Non-static methods can use the "this" keyword
13th Sep 2018, 4:33 PM
Magyar Dávid
Magyar Dávid - avatar
+ 3
Your code won't execute, because your 'fun' method is not static. Methods which are not static can only be called on instances of the class. If you would mark your 'fun' method as static, the code would be fine. You should only use methods without the static modifier, if you use non-static fields or methods from an instance of the class. Consider the following example: class Person { private String name; public Person(String name) { this.name = name; } public String toString() { return "Person{" + name + "}"; } } You cannot call Person.toString() because what person you want to convert to a string? You make no mention of any person instance. There is no person to get the name of inside the toString() method. But: Person p = new Person("Cool Guy"); String str = p.toString(); System.out.println(str); Will print out "Person{Cool Guy}". That is, because you called the toString() method on that specific Person instance stored in variable 'p' and the toString() method used the 'name' field of that person to create the string.
13th Sep 2018, 4:43 PM
Magyar Dávid
Magyar Dávid - avatar
+ 3
example static main if a main did not declare static we get an error because compiler cannot bind where the starting execution start.
14th Sep 2018, 6:19 AM
Real Gutch
Real Gutch - avatar
+ 2
Static method is executed once's an execution of the class where it belong's Start.
14th Sep 2018, 6:17 AM
Real Gutch
Real Gutch - avatar
0
k ы4к
14th Sep 2018, 8:43 AM
PlaySergo
PlaySergo - avatar