{"id":91523,"date":"2022-10-11T22:46:36","date_gmt":"2022-10-12T03:46:36","guid":{"rendered":"https:\/\/blogging-techies.com\/sw\/de-4-atkomstmodifierarna-forklaras-i-java\/"},"modified":"2022-10-11T22:46:36","modified_gmt":"2022-10-12T03:46:36","slug":"de-4-atkomstmodifierarna-forklaras-i-java","status":"publish","type":"post","link":"https:\/\/blogging-techies.com\/sw\/de-4-atkomstmodifierarna-forklaras-i-java\/","title":{"rendered":"De 4 \u00e5tkomstmodifierarna f\u00f6rklaras i Java"},"content":{"rendered":"<div>\n<p>\u00c5tkomstmodifierare \u00e4r nyckelord som placeras f\u00f6re attribut, metoder eller klasser f\u00f6r att hantera hur de n\u00e5s.  De begr\u00e4nsar vilka metoder, klasser eller paket som kan anv\u00e4nda den modifierade datan.<\/p>\n<p>\u00c5tkomstmodifierare kallas ibland ocks\u00e5 f\u00f6r synlighetsmodifierare.  Detta \u00e4r ett intuitivt s\u00e4tt att s\u00e4ga att de beskriver hur synliga vissa delar av ett program \u00e4r f\u00f6r andra komponenter som kanske vill komma \u00e5t dem.<\/p>\n<p>Synlighetsmodifierare g\u00f6r att du kan begr\u00e4nsa hur programmerare f\u00e5r tillg\u00e5ng till givna klasser.  Detta uppfyller faktiskt en nyckelprincip f\u00f6r objektorienterad programmering \u2013 inkapsling.<\/p>\n<p>Dessa \u00e4r de fyra \u00e5tkomstmodifierare som anv\u00e4nds i Java:<\/p>\n<h2 id=\"default\"><span class=\"ez-toc-section\" id=\"Standard\"><\/span>  Standard<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>N\u00e4r du inte uttryckligen definierar en modifierare kommer Java-kompilatorn att anv\u00e4nda standard\u00e5tkomsten f\u00f6r synlighet.  P\u00e5 denna \u00e5tkomstniv\u00e5 kan endast klasser i samma paket som den definierade klassen komma \u00e5t dess variabler eller metoder.<\/p>\n<p>Standardmodifieraren g\u00e4ller \u00e4ven f\u00f6r klasser, inte bara dess medlemmar.  Det ger samma synlighetsbegr\u00e4nsningar f\u00f6r klasser som det g\u00f6r f\u00f6r sina medlemmar.<\/p>\n<p>Standardmodifieraren kallas ocks\u00e5 f\u00f6r paketprivat.<\/p>\n<p>F\u00f6r att anv\u00e4nda standard\u00e5tkomstmodifieraren, definiera bara dina klassmedlemmar utan n\u00e5gon modifierare:<\/p>\n<pre>class Person{<br\/>int age;<br\/>String name;<br\/>int jump(){}<br\/>}<\/pre>\n<h2 id=\"public-modifier\"><span class=\"ez-toc-section\" id=\"Offentlig_modifierare\"><\/span>  Offentlig modifierare<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Denna modifierare g\u00f6r att medlemmar i en klass kan n\u00e5s i alla paket.  Enkelt uttryckt kan du komma \u00e5t dem \u00f6verallt.  De <strong>offentlig <\/strong>modifierare ger den minst restriktiva \u00e5tkomstniv\u00e5n.<\/p>\n<p>Det \u00e4r ocks\u00e5 viktigt att notera att <strong>offentlig<\/strong> modifierare kan ocks\u00e5 anv\u00e4ndas med klasser.<\/p>\n<p>Prefix helt enkelt klassen eller dess medlem med <strong>offentlig<\/strong> f\u00f6r att ge det en offentlig synlighet.  Se exemplet nedan:<\/p>\n<pre>public class Person{<br\/>public int age;<br\/>public String name;<br\/>public int jump(){}<br\/>}<\/pre>\n<h2 id=\"protected-modifier\"><span class=\"ez-toc-section\" id=\"Skyddad_modifierare\"><\/span>  Skyddad modifierare<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Denna modifierare till\u00e5ter att medlemmar i en klass n\u00e5s inom klassen och dess underklasser.  Det kan ge \u00e5tkomst utanf\u00f6r ett paket men endast genom arv.  Till skillnad fr\u00e5n de tv\u00e5 tidigare modifierarna, <strong>skyddad<\/strong> kan endast anv\u00e4ndas med medlemmar i en klass, inte sj\u00e4lva klassen.<\/p>\n<p>Se koden nedan om hur du kan anv\u00e4nda den:<\/p>\n<pre>class Person{<br\/>protected int age;<br\/>protected String name;<br\/>protected int jump(){}<br\/>}<\/pre>\n<h2 id=\"private-modifier\"><span class=\"ez-toc-section\" id=\"Privat_modifierare\"><\/span>  Privat modifierare<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Denna modifierare till\u00e5ter att medlemmar i en klass endast n\u00e5s inom klassen.  Precis som skyddad \u00e4r privat ocks\u00e5 endast till\u00e4mpligt p\u00e5 medlemmar i en klass.<\/p>\n<p><strong>Privat<\/strong> \u00e4r den str\u00e4ngaste \u00e5tkomstniv\u00e5n och b\u00f6r endast anv\u00e4ndas om du \u00e4r helt s\u00e4ker p\u00e5 att du inte vill att dina klassmedlemmar ska anv\u00e4ndas av andra klasser.  Till exempel kommer du att f\u00e5 ett kompileringsfel om du f\u00f6rs\u00f6ker komma \u00e5t en konstruktor med en privat modifierare.<\/p>\n<p>Som med <strong>offentlig<\/strong> och <strong>privat<\/strong>, l\u00e4gg helt enkelt till nyckelordet privat f\u00f6r att anv\u00e4nda denna modifierare.<\/p>\n<pre>class Person{<br\/>private int age;<br\/>private String name;<br\/>private int jump (){}<br\/>}<\/pre>\n<h2 id=\"more-java-considerations\"><span class=\"ez-toc-section\" id=\"Fler_Java-overvaganden\"><\/span>  Fler Java-\u00f6verv\u00e4ganden<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Vid det h\u00e4r laget \u00e4r det viktigt att ifr\u00e5gas\u00e4tta hur du skulle hantera dessa synlighetsmodifierare n\u00e4r det kommer till metod\u00f6verstyrning.  Svaret \u00e4r att bibeh\u00e5lla en synlighetsniv\u00e5 som antingen \u00e4r p\u00e5 samma niv\u00e5 som den som definieras av superklassen eller h\u00f6gre.<\/p>\n<p>Till exempel om f\u00f6r\u00e4ldraklassen har <strong>skyddad<\/strong>, kan du inte anv\u00e4nda standard eller <strong>privat<\/strong> modifierare i den \u00f6verordnade underklassen.<\/p>\n<p>Tabellen nedan sammanfattar \u00e5tkomstniv\u00e5erna f\u00f6r varje synlighetsmodifierare.  Du kan anv\u00e4nda den f\u00f6r att grunda din kunskap om \u00e5tkomstmodifierare.<\/p>\n<figure>\n<\/figure>\n<p>Fr\u00e5n tabellen \u00e4r det intressant att notera att medlemmarna i en klass alltid \u00e4r tillg\u00e4ngliga inom en klass.  Resten av kolumnerna visar det du redan har l\u00e4st ovan.<\/p>\n<p>Det \u00e4r viktigt att notera att du kan anv\u00e4nda en blandning av dessa \u00e5tkomstmodifierare inom en klass.  Det som avg\u00f6r hur du v\u00e4ljer den du ska anv\u00e4nda \u00e4r hur tillg\u00e4nglig du vill att en viss del av koden ska vara.<\/p>\n<p>Din valprocess b\u00f6r vara en gradvis \u00f6verg\u00e5ng fr\u00e5n mest restriktiva till mindre restriktiva.<\/p>\n<p>Java \u00e4r ganska snyggt ensamt, men n\u00e4r det paras ihop med MySQL?  M\u00f6jligheterna begr\u00e4nsas endast av din egen kreativitet.<\/p>\n<p>    <strong class=\"section-sub-title\">Om f\u00f6rfattaren<\/strong><\/p>\n<p>            <strong class=\"bio-title\">Jerome Davidson (33 artiklar publicerade)<br \/><\/strong><\/p>\n<p>Jerome \u00e4r personalskribent p\u00e5 MakeUseOf.  Han t\u00e4cker artiklar om programmering och Linux.  Han \u00e4r ocks\u00e5 en kryptoentusiast och h\u00e5ller alltid koll p\u00e5 kryptoindustrin.<\/p>\n<p>                            Mer fr\u00e5n Jerome Davidson<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Prenumerera_pa_vart_nyhetsbrev\"><\/span>Prenumerera p\u00e5 v\u00e5rt nyhetsbrev<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>G\u00e5 med i v\u00e5rt nyhetsbrev f\u00f6r tekniska tips, recensioner, free e-b\u00f6cker och exklusiva erbjudanden!<\/p>\n<p>Klicka h\u00e4r f\u00f6r att prenumerera<\/p>\n<\/p><\/div>\n  <div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogging-techies.com\/sw\/de-4-atkomstmodifierarna-forklaras-i-java\/#Standard\" >Standard<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogging-techies.com\/sw\/de-4-atkomstmodifierarna-forklaras-i-java\/#Offentlig_modifierare\" >Offentlig modifierare<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blogging-techies.com\/sw\/de-4-atkomstmodifierarna-forklaras-i-java\/#Skyddad_modifierare\" >Skyddad modifierare<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blogging-techies.com\/sw\/de-4-atkomstmodifierarna-forklaras-i-java\/#Privat_modifierare\" >Privat modifierare<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blogging-techies.com\/sw\/de-4-atkomstmodifierarna-forklaras-i-java\/#Fler_Java-overvaganden\" >Fler Java-\u00f6verv\u00e4ganden<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blogging-techies.com\/sw\/de-4-atkomstmodifierarna-forklaras-i-java\/#Prenumerera_pa_vart_nyhetsbrev\" >Prenumerera p\u00e5 v\u00e5rt nyhetsbrev<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n ","protected":false},"excerpt":{"rendered":"<p>\u00c5tkomstmodifierare \u00e4r nyckelord som placeras f\u00f6re attribut, metoder eller klasser f\u00f6r att hantera hur de n\u00e5s. De begr\u00e4nsar vilka metoder, klasser eller paket som kan anv\u00e4nda den modifierade datan. \u00c5tkomstmodifierare kallas ibland ocks\u00e5 f\u00f6r synlighetsmodifierare. Detta \u00e4r ett intuitivt s\u00e4tt att s\u00e4ga att de beskriver hur synliga vissa delar av ett program \u00e4r f\u00f6r andra [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":91524,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[5],"tags":[45249,28177,6155],"class_list":["post-91523","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bloggar","tag-atkomstmodifierarna","tag-forklaras","tag-java"],"_links":{"self":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/91523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/comments?post=91523"}],"version-history":[{"count":0,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/91523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media\/91524"}],"wp:attachment":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media?parent=91523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/categories?post=91523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/tags?post=91523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}