Verskil tussen staties en finaal in Java

INHOUDSOPGAWE:

Verskil tussen staties en finaal in Java
Verskil tussen staties en finaal in Java

Video: Verskil tussen staties en finaal in Java

Video: Verskil tussen staties en finaal in Java
Video: what is the diff between static and final in java 2024, November
Anonim

Sleutelverskil – staties vs finaal in Java

Elke programmeertaal het 'n spesifieke sintaksis. Die programmeerder moet hierdie sintaksis volg wanneer programme geskryf word. Die sleutelwoorde van programmeertale het spesifieke betekenisse volgens die take. Hulle word verskaf deur die programmeertaal en kan nie gebruik word vir gebruiker-gedefinieerde veranderlikes, metodes, klasse, ens. Die statiese en finale is twee sleutelwoorde in Java. Hierdie artikel bespreek die verskil tussen staties en finaal in Java. Die belangrikste verskil tussen staties en finaal in Java is dat staties gebruik word om die klaslid te definieer wat onafhanklik van enige voorwerp van die klas gebruik kan word, terwyl finaal gebruik word om 'n konstante veranderlike of 'n metode wat nie oorheers kan word nie of 'n klas wat kan nie geërf word nie.

Wat is staties in Java?

'n Klas bestaan uit datalede (kenmerke) en metodes. Om die metodes te noem, moet daar 'n objek van daardie spesifieke klas wees. Wanneer 'n metode as staties verklaar word, is dit nie nodig om 'n voorwerp te skep om daardie metode te noem nie. Die metode kan genoem word deur die klasnaam te gebruik. Verwys na die onderstaande program.

Verskil tussen staties en finaal in Java
Verskil tussen staties en finaal in Java

Figuur 01: Java-program met statiese veranderlikes en statiese metode

Volgens bogenoemde program bevat klas A getalveranderlike en vertoonmetode. Albei is statiese lede. Daarom is dit nie nodig om 'n voorwerp te skep om toegang tot die getalveranderlike en vertoonmetode te verkry nie. Die programmeerder kan die klasnaam direk skryf om die nommer te druk en die metodevertoning te bel. Dit is dus nie nodig om 'n voorwerp te instansieer nie. As die getalveranderlike en vertoonmetode nie-staties is, moet daar 'n voorwerp van tipe A wees.

Verskil tussen staties en finaal in Java_Figure 02
Verskil tussen staties en finaal in Java_Figure 02

Figuur 02: Gebruik van statiese blok

Bogenoemde program bevat die statiese blok en die hoofmetode. Die statiese blok word opgeroep wanneer die klas gelaai is. Daarom word die stelling in die statiese blok uitgevoer voor die stelling in die hoofblok. As daar baie statiese blokke is, sal hulle in volgorde uitgevoer word.

Wat is finaal in Java?

In die program kan daar veranderlikes van verskillende tipes wees. As daar 'n veranderlike is as int x=1; later in die program kan daardie veranderlike waarde na 'n ander waarde verander word. 'n Veranderlike wat as finaal verklaar en met 'n waarde geïnisialiseer word, kan nie later in die program verander word nie.

Verskil tussen staties en finaal in Java_Figure 03
Verskil tussen staties en finaal in Java_Figure 03

Figuur 03: Program met finale veranderlike en oorerwing

Volgens bogenoemde program is x 'n finale veranderlike. Dit word 'n waarde 5 toegeken. Dit kan nie 'n ander waarde verander word nie, want dit word as finaal verklaar. Java ondersteun objekgeoriënteerde programmering (OOP). Een pilaar van OOP is 'n polimorfisme. Een tipe polimorfisme is oorheersend. Klas A het die vertoonmetode. Die klas B brei klas A uit en het sy eie vertoonmetode. Wanneer 'n voorwerp van tipe B geskep word en die vertoningsmetode roep, sal "B" as die afvoer gedruk word. Die vertoonmetode van klas A word oorheers deur die vertoonmetode van klas B.

As die programmeerder wat om te vermy om 'n metode te ignoreer, dan kan hy die finale sleutelwoord vir daardie metode gebruik. As die vertoonmetode in klas A finaal is, sal die vertoonmetode in B 'n fout gee omdat daardie metode nie oorheers kan word nie.

Verskil tussen staties en finaal in Java_Figure 04
Verskil tussen staties en finaal in Java_Figure 04

Figuur 04: laaste sleutelwoord in die Metode

Nog 'n pilaar van OOP is oorerwing. Dit help om die reeds bestaande kode te hergebruik. Die nuwe klas kan uit die bestaande klas strek en die datalede en metodes van die bestaande klas gebruik. As dit vereis word om op te hou om 'n klas te erf, kan die programmeerder die sleutelwoord 'finaal' gebruik. Verwys na die onderstaande program.

Ke3y Verskil tussen staties en finaal in Java
Ke3y Verskil tussen staties en finaal in Java

Figuur 05: laaste sleutelwoord in die klas

Volgens bogenoemde program word klas A as finaal verklaar. Wanneer klas B A verleng, gee dit 'n fout omdat klas A as finaal verklaar word. Dit kan nie deur ander klasse geërf word nie.

Wat is die ooreenkoms tussen staties en finaal in Java?

Beide staties en finaal is sleutelwoorde in Java

Wat is die verskil tussen staties en finaal in Java?

staties vs finaal in Java

Statiese sleutelwoord dui aan dat toegang tot 'n lidveranderlike, of metode, verkry kan word sonder om 'n instansiasie van die klas waaraan dit behoort te vereis. Die finale sleutelwoord dui op 'n entiteit wat slegs een keer toegeken kan word.
Veranderlikes
Die statiese veranderlikes kan herinitialiseer word. Die finale veranderlikes kan nie herinitialiseer word nie.
Metodes
Kan deur ander statiese metodes geroep word en net toegang tot die statiese lede van die klas kry. Die finale metodes kan nie oorskryf word nie.
Klas
Die statiese klasvoorwerp kan nie geskep word nie. Dit bevat slegs statiese lede. Die finale klas kan nie deur ander klasse geërf word nie.
Blok
Die statiese sleutelwoord kan in 'n blok gebruik word. Die finale sleutelwoord word nie saam met 'n blok gebruik nie.

Opsomming – staties vs finaal in Java

Hierdie artikel het twee sleutelwoorde in Java bespreek, soos staties en finaal. Die verskil tussen staties en finaal in Java is dat staties gebruik word om die klaslid te definieer wat onafhanklik van enige objek van die klas gebruik kan word, terwyl finaal gebruik word om 'n konstante veranderlike of 'n metode te verklaar wat nie oorheers kan word nie of 'n klas wat nie kan geërf word.

Aanbeveel: