У чым розніца паміж метадам асобніка і статычным метадам?


адказ 1:

Асноўная парадыгма Java заключаецца ў тым, што вы пішаце класы і што гэтыя класы з'яўляюцца асобнікамі. Імгненным аб'ектам (асобнік класа) прысвойваюцца атрыбуты (членныя зменныя), якія ўплываюць на іх паводзіны. Калі працуе метад асобніка, ён спасылаецца на гэтыя зменныя.

Аднак усе аб'екты пэўнага тыпу могуць выяўляць паводзіны, якія наогул не залежаць ад зменных элементаў. Гэтыя метады лепш зрабіць статычнымі. Паколькі ён статычны, для запуску метаду не патрабуецца асобнік класа.

Вы можаце зрабіць гэта, каб запусціць статычны метад:

MyObject.staticMethod (); // Проста паказвае на статычны код класа

Аднак для запуску нестатычнага метаду вам трэба зрабіць наступнае:

MyObject obj = новы MyObject (); // стварыць асобнік obj.nonstaticMethod (); // Глядзіце код класа асобніка

На больш глыбокім узроўні, пры кампіляцыі класа, кампілятар змяшчае некалькі паказальнікаў на метады. Калі гэтыя метады выконваюцца, ён выконвае паказальнікі і выконвае код на іншым канцы. Калі клас ствараецца асобна, створаны аб'ект змяшчае паказальнік на "табліцу віртуальных метадаў", якая паказвае на метады, якія трэба выклікаць для гэтага канкрэтнага класа ў іерархіі спадчыны. Аднак, калі метад статычны, ніякая "табліца віртуальных метадаў" не патрэбна: усе выклікі гэтага метаду перамяшчаюцца ў дакладна тое ж месца ў памяці, каб выканаць сапраўды той самы код. Па гэтай прычыне лепш выкарыстоўваць статычны метад у высокапрадукцыйных сістэмах, калі вы не залежаце ад зменных асобнікаў.

https: //stackoverflow.com/questi ...


адказ 2:

Розніца паміж статычнымі метадамі і метадамі асобнікаў

  1. Метады экземпляра - гэта метады, у якіх трэба стварыць аб'ект свайго класа, перш чым яго можна назваць. Статычныя метады - гэта метады на Java, якія можна выклікаць без стварэння аб'екта класа. Статычны метад аб'яўляецца ключавым словам statik. Метад асобніка не ўтрымлівае статычнага ключавога слова. Статычны метад азначае, што ён існуе як асобная копія для класа. Аднак метады асобнікаў існуюць у выглядзе некалькіх копій, у залежнасці ад колькасці асобнікаў, створаных для гэтага класа. Статычныя метады можна назваць пры дапамозе класнай даведкі. Вырабы экзэмпляра альбо нестатычныя метады называюцца з выкарыстаннем спасылкі на аб'ект. Статычныя метады не могуць напрамую атрымаць доступ да метадаў асобнікаў і зменных асобнікаў. Метад асобніка можа напрамую атрымаць доступ да статычных пераменных і статычных метадаў.

адказ 3:

Розніца паміж статычнымі метадамі і метадамі асобнікаў

  1. Метады экземпляра - гэта метады, у якіх трэба стварыць аб'ект свайго класа, перш чым яго можна назваць. Статычныя метады - гэта метады на Java, якія можна выклікаць без стварэння аб'екта класа. Статычны метад аб'яўляецца ключавым словам statik. Метад асобніка не ўтрымлівае статычнага ключавога слова. Статычны метад азначае, што ён існуе як асобная копія для класа. Аднак метады асобнікаў існуюць у выглядзе некалькіх копій, у залежнасці ад колькасці асобнікаў, створаных для гэтага класа. Статычныя метады можна назваць пры дапамозе класнай даведкі. Вырабы экзэмпляра альбо нестатычныя метады называюцца з выкарыстаннем спасылкі на аб'ект. Статычныя метады не могуць напрамую атрымаць доступ да метадаў асобнікаў і зменных асобнікаў. Метад асобніка можа напрамую атрымаць доступ да статычных пераменных і статычных метадаў.

адказ 4:

Розніца паміж статычнымі метадамі і метадамі асобнікаў

  1. Метады экземпляра - гэта метады, у якіх трэба стварыць аб'ект свайго класа, перш чым яго можна назваць. Статычныя метады - гэта метады на Java, якія можна выклікаць без стварэння аб'екта класа. Статычны метад аб'яўляецца ключавым словам statik. Метад асобніка не ўтрымлівае статычнага ключавога слова. Статычны метад азначае, што ён існуе як асобная копія для класа. Аднак метады асобнікаў існуюць у выглядзе некалькіх копій, у залежнасці ад колькасці асобнікаў, створаных для гэтага класа. Статычныя метады можна назваць пры дапамозе класнай даведкі. Вырабы экзэмпляра альбо нестатычныя метады называюцца з выкарыстаннем спасылкі на аб'ект. Статычныя метады не могуць напрамую атрымаць доступ да метадаў асобнікаў і зменных асобнікаў. Метад асобніка можа напрамую атрымаць доступ да статычных пераменных і статычных метадаў.