JavaRush /Java Blog /Random-TL /Coffee break #105. Bakit hindi nababago ang Strings sa Ja...

Coffee break #105. Bakit hindi nababago ang Strings sa Java? Interface sa Java at maramihang inheritance

Nai-publish sa grupo

Bakit hindi nababago ang Strings sa Java?

Pinagmulan: Dev.to Bago maunawaan kung bakit hindi nababago ang Strings sa Java, kailangan nating isipin kung bakit ginagawa natin ang isang bagay na hindi nababago? Coffee break #105.  Bakit hindi nababago ang Strings sa Java?  Interface sa Java at maramihang pamana - 1Ang ibig sabihin ng hindi nababago ay kapag nalikha na natin ito hindi na natin mababago. Ang tanging dahilan na maiisip nating gumawa ng isang bagay na hindi nababago ay para sa pag-synchronize kapag ginamit nang magkasama. Ito ang dahilan kung bakit hindi nababago ang mga string. Sa Java, ang mga String object ay ibinabahagi at naka-cache sa String Pool. Ito ay isang partikular na lokasyon sa heap kung saan iniimbak at ibinabahagi ang mga string sa maraming thread kung pareho ang halaga ng mga ito. Halimbawa: sa isang string pool, kung mayroon nang string na may value na "test" at gusto ng program na gumawa ng isa pang string object na may parehong value, makakakuha ito ng parehong reference sa halip na lumikha ng bagong string object. Ngayon alam na natin kung paano iniimbak ang mga string sa heap. Tingnan natin kung bakit hindi sila nagbabago.
  1. Ang unang dahilan ng kawalan ng pagbabago ay ang kaligtasan ng thread. Dahil ang mga row ay ibinabahagi sa maraming mga thread sa row pool, kailangan naming paghigpitan ang anumang random na thread upang baguhin ito. Ang anumang pagbabago sa isang row ay maaaring makaapekto sa iba pang mga thread na nag-a-access sa parehong row. Kung gustong i-update ng thread ang value ng isang row, kailangan nitong gumawa ng isa pang row at i-reference ito.

  2. Karaniwang ginagamit namin ang String bilang susi sa Map . Kung nababago ang mga string, maaaring baguhin ng sinuman ang halaga ng mga string at mawawala ang aktwal na key.

Interface sa Java at maramihang inheritance

Source: Dev.to Unawain natin kung ano ang multiple inheritance. Ang multiple inheritance ay isang feature ng ilang object-oriented programming language kung saan ang isang object o klase ay maaaring magmana ng functionality mula sa higit sa isang parent object o parent class. Coffee break #105.  Bakit hindi nababago ang Strings sa Java?  Interface sa Java at maramihang pamana - 1Gaya ng ipinapakita sa larawan sa itaas, ang isang multiple inheritance child class ay maaaring magkaroon ng dalawa o higit pang mga base class, ngunit para makamit ito kailangan namin ng interface.

Interface

Ang isang interface sa Java ay ang blueprint ng isang klase. Mayroon itong mga static na constant at abstract na pamamaraan. Iyon ay, ang isang interface ay maaari lamang maglaman ng mga abstract na pamamaraan at variable, hindi ito maaaring magkaroon ng katawan ng pamamaraan. Hindi ito maaaring gawin sa parehong paraan tulad ng isang abstract na klase.

Kaya't saan natin ipinapahayag ang katawan ng mga pamamaraang ito?

Ang katawan ng pamamaraan ay ipinahayag sa loob ng klase kung saan ang pamamaraan ay kinakailangan ayon sa mga kinakailangan ng programmer.

Paano magpahayag ng isang interface?

Maaaring ipahayag ang isang interface gamit ang keyword ng interface . Syntax:
interface interface_name {abstract methods}

Tandaan

Upang makagamit ng ipinahayag na interface sa isang klase, dapat nating gamitin ang implements keyword .

Pagpapatupad?

Una gagawa kami ng print interface , at sa loob nito gagawa kami ng abstract print() method ;
interface printgib{
void print();
}
Ngayon ay mayroon na tayong interface na handa para sa mga klase na gagamitin, kaya gumawa tayo ng mga klase abc at gk at ipatupad ang interface sa kanila.
public class abc implements printgib{
public void print(){                     //1st implementation of print
System.out.println("I love you 3000");
}
public static void main(String[] args){
abc obj = new abc();
gk obj1 = new gk();
obj.print();
obj1.print();
}
}

class gk implements printgib{
public void print(){                   //2nd implementation of print
System.out.println("I am Gk");
}
}
Gaya ng ipinapakita sa code sa itaas, nakamit namin ang maramihang pamana at nagpatupad ng interface. Ngayon upang patakbuhin ang code, i-save ang file at...
javac file_name.java
java abc

Resulta:

Coffee break #105.  Bakit hindi nababago ang Strings sa Java?  Interface sa Java at maramihang pamana - 2
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION