Qu'est-ce que static
C'est-à-dire ?
Je sais public
signifie qu'il est possible d'y accéder depuis l'extérieur de la classe, et private
seulement de l'intérieur de la classe
Qu'est-ce que static
C'est-à-dire ?
Je sais public
signifie qu'il est possible d'y accéder depuis l'extérieur de la classe, et private
seulement de l'intérieur de la classe
public : Les objets déclarés publics sont accessibles partout.
protégé : Protégé limite l'accès aux héritages et aux parents (et à la classe qui définit l'élément).
privé : Privé limite la visibilité uniquement à la classe qui définit l'élément.
statique : Une variable statique n'existe que dans la portée d'une fonction locale, mais elle ne perd pas sa valeur lorsque l'exécution du programme quitte cette portée.
final : Les mots-clés finaux empêchent les classes enfant de remplacer une classe en préfixant la définition par final. Si la classe elle-même est est définie comme finale, elle ne peut pas être étendue.
A côté de PHP :
transitoire : Une variable transitoire est une variable qui ne peut pas être sérialisée.
volatile : Une variable qui pourrait être modifiée simultanément par plusieurs plusieurs threads doit être déclarée volatile. Les variables déclarées volatiles ne seront pas optimisées par le compilateur parce que leur valeur peut changer à tout moment.
De http://php.net/manual/en/language.oop5.static.php
Déclarer des propriétés ou des méthodes de classe comme statiques les rend accessibles sans avoir besoin d'une instanciation de la classe. Une propriété déclarée comme static ne peut pas être accessible avec une objet de classe instancié (bien qu'une méthode statique le peut).
Un exemple : lorsque l'on utilise le static
nous ne pouvons pas utiliser le mot-clé $this
class Foo {
private $foo='private';
private function priv_func() {
echo 'priv_method';
}
public static function get() {
echo $this->foo;
$this->priv_func();
}
}
$obj = new Foo();
$obj->get();
Erreur fatale : Utilisation de $this en dehors du contexte de l'objet dans ( )
Ejemplo:
public class Methods_Test1
{
public static void Display(String Name)
{
System.out.println("Hello There " + Name);
System.out.println("I am from Display method");
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter name");
String name = sc.next();
Obj.Display(name);
}
La méthode public static void Display(String name) est accessible en tant que méthode statique au sein de sa propre classe, ce qui permet d'y accéder sans créer d'objet de la classe, alors que la même méthode se comporte comme une méthode publique pour les classes extérieures, ce qui permet d'y accéder en créant un objet.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.