У Јава методе дефинишу понашање класа и објеката. Разумевање разлике између статичких метода и метода инстанце је од суштинског значаја за писање чистог и ефикасног кода.
Шта је статичка метода?
А статичка метода припада класи, а не било ком специфичном објекту.
- Може се позвати без креирања инстанце класе.
- Пошто су статичке методе специфичне за сваки објекат, оне могу приступити само статичким члановима (подацима и методама) и не могу приступити нестатичким члановима.
import java.io.*; class Geeks { // static method public static void greet() { System.out.println('Hello Geek!'); } public static void main(String[] args) { // calling the method directily greet(); // using the class name Geeks.greet(); } }
Излаз
Hello Geek! Hello Geek!
Објашњење: Горњи пример показује статички метод греет() унутар класе Геекс да се статичке методе могу позвати без креирања објекта. У главној методи не креирамо објекат класе Геек, већ метод позивамо директно по имену класе које је Геекс и онда штампамо излаз.
Шта је метода инстанце?
Ан Метода инстанце припада објекту.
шта је говорник
- Потребно је креирати инстанцу класе за позивање.
- Може приступити променљивим инстанце другим методама инстанце и статичким члановима класе.
- Имајте приступ
thisреференца који указује на тренутни објекат.
import java.io.*; class Test { String n = ''; // Instance method public void test(String n) { this.n = n; } } class Geeks { public static void main(String[] args) { // create an instance of the class Test t = new Test(); // calling an instance method in the class 'Geeks' t.test('GeeksforGeeks'); System.out.println(t.n); } }
Излаз
GeeksforGeeks
Објашњење: Горњи пример показује како се користи метод инстанце у Јави. Правимо објекат класе Тест и позивамо тест метод да поставимо вредност, а затим штампамо излаз.
Разлика између статичке методе и методе инстанце
Следећа табела наводи главне разлике између статичких метода и метода инстанце у Јави.
Карактеристике | Статичка метода | Метода инстанце |
|---|---|---|
Дефиниција | Креиран помоћу кључне речи статиц и преузет без креирања објекта. јава генерише случајни број | Захтева да се позове објекат своје класе. |
Приступ | Приступ само статичким променљивим и методама. | Може да приступи и статичким и члановима инстанце. |
| Не могу користити ово кључна реч у оквиру статичких метода. једноставан формататор датума у Јави | Може да користи кључну реч тхис за упућивање на тренутни објекат. |
Оверриде | Не подржава полиморфизам времена извршавања | Подржава полиморфизам времена извршавања |
Алокација меморије | Учитава се једном по разреду | Сваки објекат има своју копију шта је објекат јава |