Java >> Tutoriel Java >  >> Tag >> final

Mots-clés finaux et statiques en Java avec exemple

1) Java - dernier mot-clé

Le mot-clé final se définit qu'une fois le mot-clé final utilisé, on ne peut pas étendre ou modifier sa valeur. En Java, le mot-clé final est utilisé dans différentes méthodes pour définir toute variable qui ne peut être affectée qu'une seule fois dans le programme.

Utilisation du mot-clé final

Le mot-clé final a principalement trois utilisations dont l'une est de créer la classe finale. La deuxième consiste à utiliser les méthodes finales et la troisième à utiliser le membre de données final.

Voici les utilisations du mot-clé final :

  1. Arrêter l'héritage.
  2. Suppression de la méthode d'arrêt.
  3. Arrêter le changement de valeur.

cours final

Il est utilisé pour éviter l'héritage. Une fois un dernier mot attribué avant la classe, cette classe ne peut plus être héritée. En d'autres termes, la classe finale ne peut pas avoir sa classe dérivée.

Syntaxe :

final class <classname>
{
        //define class
}

Méthode incorrecte :

final class X
{

}
final class Y extends X //error: cannot inherit from final X
{

}

Méthode finale

Il est utilisé pour éviter le remplacement de méthode en Java.

En d'autres termes, si le mot-clé final est attribué avant toute fonction, on ne peut pas utiliser le nom de la fonction pour créer une autre fonction.

Syntaxe :

class classname
{
	final void functionname()
	{
	}
}

Méthode incorrecte :

class X
{
	final void get()
	{
	}
}
class Y extends X
{
	void get() //error: get() in Y cannot override get() in X
	{
	}
}
Publicité

membre de données final :

Il est utilisé pour définir l'identifiant constant.

Si le mot-clé final est utilisé avant toute variable, on ne peut pas modifier sa valeur. En d'autres termes, une fois le mot-clé final utilisé, on ne peut pas écraser ou modifier sa valeur.

Syntaxe :

class classname
{
	void functionname()
	{
		final int x=100;
	}
}

Méthode incorrecte :

class classname
{
	void functionname()
	{
		final int x=100;
		x=x+10; //error: cannot assign a value to final variable x
	}
}

2) Java - mot-clé statique

mot clé statique est utilisé java pour la gestion de la mémoire. Les variables statiques sont généralement stockées dans la mémoire statique. Les variables statiques sont rarement utilisées autrement qu'en tant que constantes.

Nous pouvons utiliser un mot-clé statique avec des méthodes, des variables, des blocs et une classe imbriquée. Le mot-clé statique appartient à la classe qu'à l'instance de la classe.

statique peut être :

  1. Méthode
  2. Variables
  3. Bloquer
  4. Classe imbriquée

a) Variable statique

variables statiques sont formés en déclarant le mot-clé statique avant la variable. Le mot clé statique est utilisé pour créer des variables qui existeront indépendamment de toutes les instances créées pour la classe. Une seule copie de la variable statique existe quel que soit le nombre d'instances de la classe.

variables statiques sont également appelées variables de classe. Les variables locales ne peuvent pas être déclarées statiques.

Propriétés

  1. Cela rend la mémoire des programmes efficace.
  2. La variable statique peut être utilisée pour faire référence à la propriété commune de tous les objets.
  3. La variable statique n'obtient de la mémoire qu'une seule fois dans la zone de classe au moment du chargement de la classe.
Publicité

Considérez l'exemple

class Count
{
	static int c=0;
	Count()
	{
		c++;
		System.out.println(c);
	}
	public static void main(String arg[])
	{
		Count c1=new Count();
		Count c2=new Count();
		Count c3=new Count();
	}

}

Sortie

1
2
3

b) Méthode statique

Les méthodes statiques sont formées en déclarant le mot-clé statique avant toute méthode. Les méthodes statiques prennent les données des paramètres et calculent le résultat à partir de ces paramètres sans variables de référence.

Propriétés :

  1. Toute méthode statique appartient à la classe au lieu de l'objet d'une classe.
  2. Il peut être invoqué sans avoir besoin de créer une instance de classe.
  3. Ces méthodes peuvent accéder aux données membres statiques.
  4. Ces méthodes sont capables de modifier les données membres statiques.

Considérez l'exemple

class Company
{
	int id;
	String name;
	static long salary;

	static void change()
	{
		salary=salary + 50000;
	}
	Company(int i,String n,long s)
	{
		id=i;
		name=n;
		salary=s;
	}
	void show()
	{
		System.out.println("Id of employee is "+id);
		System.out.println("Name of Employee is "+name);
		System.out.println("Salary of Employee is "+salary);
	}
	public static void main(String arg[])
	{
		Company.change();
		Company c1=new Company(100,"Shivangi",100000);
		Company c2=new Company(101,"Prerana",200000);
		Company c3=new Company(102,"Karishma",150000);

		c1.show();
		c2.show();
		c3.show();
	}
}

Sortie

Id of employee is 100
Name of Employee is Shivangi
Salary of Employee is 150000
Id of employee is 101
Name of Employee is Prerana
Salary of Employee is 150000
Id of employee is 102
Name of Employee is Karishma
Salary of Employee is 150000

Balise Java