- - Vadovėlis: raktinis žodis „finalas“ „Java“

Vadovėlis: raktinis žodis „finalas“ „Java“

Tikiuosi, kad iki šio laiko jūs susikalbėsitesu tokiais raktiniais žodžiais kaip statinis ir tai „Java“. „Java“ programavimo kalboje „galutinis“ yra raktinis žodis, kuris naudojamas įvairiems tikslams ir pateikiamas visų kontekstų, kuriuose naudojame galutinį, sąrašas:

  • Galutiniai kintamieji negali būti pakeisti, jie negali būti iš naujo inicijuoti.
  • Negalima pamiršti galutinių metodų.
  • Paskutinės klasės negali būti paveldimos.

Dabar mes visa tai suprasime, naudodamiesi šiais pavyzdžiais kiekviename kontekste:

Programos

1. Galutinio kintamojo programa

public class Circle{
public static void main(String args[]){
final double PI = 3.14;
final double radius = 3.50;
System.out.println("Area of Circle is: "+(PI*Math.pow(radius,2)));
radius = 3.75;
System.out.println("Area of Circle is: "+(PI*Math.pow(radius,2)));
}
}

Galutinio kintamojo programa

2. Galutinio metodo programa

public class Figure {
final public double calculateArea(double radius){
return Math.pow(radius,2);
}
}
class Circle extends Figure{
public double  calculateArea(double radius){
System.out.println("Overriding Not Allowed");    /*  calculateArea() can not be overridden */
}
}
class Main{
public static void main(String args[]){
Circle circle = new Circle();
circle.calculateArea(1.23);
}
}

Galutinio metodo programa

3. Baigiamosios klasės programa

final class Circle{
final double PI = 3.14;
double calculateArea(double radius){
return (PI*Math.pow(radius,2));
}
}
class Cylinder extends Circle{
double height = 10.0;
double calculateArea(double radius){
return 2*((PI*Math.pow(radius,2))+(PI*radius*height));
}
}
class Main{
public static void main(String args[]){
Cylinder cylinder = new Cylinder();
cylinder.calculateArea(3.11);
}
}

Programa baigiamajai klasei

Paaiškinimas

Jei kintamieji deklaruojami kaip galutiniai, naudojant galutiniusraktinį žodį, jis gali būti inicijuotas tik vieną kartą ir paprastai yra apibrėžtas deklaravimo metu. Jei jis nebus inicializuotas deklaravimo metu, konstruktoriuose turi būti apibrėžtas vadinamasis galutinis tuščiasis kintamasis, kitaip jis gaus kompiliavimo laiko klaidą.

Kai jis bus apibrėžtas, jis gali būti vėl inicijuotas. Inicijavus, bus kompiliavimo klaida. Tai gali būti lengvai pagaminta iš pirmosios programos išvesties.

Jei metodai paskelbiami galutiniais, naudojant galutiniusklasės raktinį žodį, jis gali būti perkrautas, tačiau jo negalima perrašyti. Aukščiau pateiktame pavyzdyje apibrėžėme galutinę „CalcArea“ () paveikslėlių klasėje, kuri negalėjo būti paveldėta ir nepaisoma „Circle“ klasės klasėje, nes tai sukuria kompiliavimo laiko klaidą.

Metodų paskelbimas galutiniais yra lygiaverčiaiprivatus metodas, tačiau kintamajam tai netiesa, o galutinis kintamasis visai neprilygsta pastoviam kintamajam, nes deklaruojant masyvą kaip galutinį, masyvo objekto būseną galima modifikuoti, ty pakeisti, taigi norint apriboti modifikacijas, ji turi būti padaryta nekintantis, bet kai masyvas deklaruojamas kaip pastovus, jo pakeisti negalima.

Norėdami išvengti klasės paveldėjimo,atitinkama klasė paskelbiama galutine. Trečiojoje programoje mes bandėme paveldėti paskutinę klasę, tačiau gavome kompiliavimo klaidą sakydami: „Negaliu paveldėti iš galutinio rato“, kurią galima pastebėti ekrano metu kompiliavimo metu.

Taigi čia finalas yra išsamiai aptariamas ir aš manau, kad jis padės jums daug suprasti „Java“ finalą ir visas jo naudojimo galimybes.

Komentarai