Quelle est la signification du système?hors.println en Java?

est-ce la fonction statique println de la classe out de l'espace de noms System ?

namespace System {
  class out {
    static println ...
  }

comment interpréter ce nom? Et où dans JRE cette fonction est-elle définie? Dans java.lang.System / java.lang.Object ?

51
demandé sur user35443 2010-08-04 18:48:01

20 réponses

Pas de. En fait out est un membre statique dans la classe System (pas comme dans .NET), étant une instance de PrintStream . Et println est une méthode normale (surchargée) de la classe PrintStream .

voir http://download.oracle.com/javase/6/docs/api/java/lang/System.html#out .

en fait, si out / err / in si les classes étaient, elles seraient nommées avec le caractère de capitale ( Out / Err / In ) en raison de la Convention d'appellation (en ignorant la grammaire).

79
répondu kennytm 2013-07-10 06:06:29

System est une classe, qui a un champ statique public out . Donc c'est plus comme

class System 
{
    public static PrintStream out;
}

class PrintStream
{
    public void println ...
}

c'est une légère simplification excessive, car la classe PrintStream est en fait dans le paquet java.io , mais c'est suffisant pour montrer la relation entre les choses.

43
répondu cHao 2010-08-04 14:52:24

Vérifier le lien suivant:

http://download.oracle.com/javase/1.5.0/docs/api/java/lang/System.html

You will clear that:

System est une classe dans le colis java.lang .

out est un élément statique de la classe System , et est une instance de java.io.PrintStream .

println est une méthode de java.io.PrintStream . Cette méthode est surchargée pour imprimer le message vers la destination de sortie, qui est généralement une console ou un fichier.

22
répondu YoK 2013-07-11 19:41:13

du Système.hors.println ()

Compréhension

pour comprendre cela, nous avons besoin de rappeler quelques bases de java:

  • dot (. opérateur en java: java . (opérateur de point) est utilisé seulement pour appeler des méthodes ou des variables. On peut donc dire que out est soit une méthode, soit une variable.
  • Méthodes
  • en java : nous savons les méthodes ont toujours des parenthèses ‘ () ' après le nom de la méthode, donc hors ne peut pas être une méthode en java. Si son une variable et println() est une méthode .
  • nom de classe en java: le nom de classe doit commencer par la lettre majuscule idéalement en java, système So est une classe .

maintenant avec des connaissances de base de java nous savons :

    "1519150920 Système de" Classe
  • out est une Variable
  • println () est une méthode

pour en savoir plus:

variable : statique ou de l'instance?

  • appelé en utilisant le nom de classe, donc nous connaissons sa variable statique de classe système.

  • mais son appel une méthode println () méthode so ' out’ est un objet de le type de référence PrintStream.

la classe de système appartient à java.lang package

class System {
  public static final PrintStream out;
  //...
}

la classe Prinstream appartient à java.colis io

class PrintStream{
public void println();
//...
}
18
répondu VedX 2015-08-13 08:08:39

println et print sont les deux méthodes surchargées qui appartiennent à la classe PrintStream .

Pour y accéder, nous avons besoin d'une instance de cette classe.

Un propriété statique de la appelé out de type PrintStream est créé sur le System de la classe.

donc pour accéder aux méthodes ci-dessus nous utilisons les suivantes déclarations:

System.out.println("foo");
System.out.print("foo");
6
répondu Omprakash.K 2012-11-03 21:47:48
System.out.println("Hello World");
  1. System : C'est le nom de la classe standard qui contient les objets qui encapsule la norme I/O dispositifs de votre système.

il est contenu dans le paquet java.lang ". Depuis java.lang paquet est importé dans chaque programme java par défaut,donc java.lang paquet est le seul paquet dans L'API Java qui ne nécessite pas de déclaration d'importation.

  1. out : l'objet out représente le flux de sortie(I. e commandement fenêtre) et est le membre de données statiques de la classe System .

alors notez ici System.out ( System -Classe & out - objet statique I. e pourquoi il est simplement référencé par classname et nous n'avons pas besoin de créer un objet ).

  1. println : Le println() est méthode de out objet prend la chaîne de texte comme argument et l'affiche à la norme résultats I. e sur l'écran du moniteur .

Note

System -Classe

out -objet statique

println() -méthode

rappelez-vous une fonction (en Java la fonction s'appelle la méthode) a toujours le format la fonction()

3
répondu Isabella Engineer 2017-07-23 04:32:12

System est une classe de java.lang colis

out est un static objet de PrintStream classe dans java.io paquet

println() est une méthode de la PrintStream classe

2
répondu being_j 2017-07-20 18:39:02
PrintStream System est une classe de java.lang paquet, out est un objet de PrintStream classe et aussi static membre de données de System classe, print() et println() est une méthode d'instance de PrintStream classe. il est de fournir une sortie douce sur la console.

2
répondu Dushyant 2017-07-20 20:52:29

il est assez simple de comprendre la question, mais pour y répondre nous devons creuser plus profondément dans le code Java native.

  • System est une classe statique et ne peut pas être instanciée
  • out est une variable de référence définie dans System
  • println() est la méthode utilisée pour imprimer sur une sortie standard.

Un brève et belle explication est toujours les bienvenus sur ce que nous pouvons beaucoup apprendre de cette seule ligne d'instruction lui-même!

1
répondu Shyam 2012-09-28 00:53:43

parce que out est appelé avec le nom de classe System lui-même, pas une instance d'une classe (un objet), donc out doit être une variable statique appartenant à la classe System . out doit être une instance d'une classe, car elle invoque la méthode println() .

// the System class belongs to java.lang package
class System {
    public static final PrintStream out;
}
class PrintStream {
    public void println();
}
1
répondu VMAtm 2014-07-17 09:47:51

System est une classe de java.lang package . Et out est un objet PrintStream . Nice explanation @ http://lazy-geeks.blogspot.in/2015/01/what-is-systemoutprintln.html

1
répondu pavan 2015-01-01 16:56:47
System.out.println();

System est la classe

out est une variable de la classe System et il est un static et le type de variable est PrintStream .

voici la variable out dans System classe:

public final static PrintStream out = null;

vous pouvez voir la mise en œuvre de System ici .

println() est une méthode surchargée de la classe PrintStream .

PrintStream comprend trois méthodes d'impression surchargées, à savoir:"

  1. print()
  2. println()
  3. printf()

, Vous pouvez voir la mise en œuvre de PrintStream ici .

vous ne pouvez pas instantiate System classe et il est classe enfant de Object et le Object est le père(superclasse) de toutes les classes y compris les classes que vous avez définies.

voici ce que dit l'oracle docs:

public final class System extends Object

la classe System contient plusieurs champs et méthodes utiles. Il ne peut pas être instanciée.

Parmi les équipements fournis par la classe System sont entrées standard, flux de sortie standard, et flux de sortie d'erreur; accès à l'extérieur propriétés définies et variables d'environnement; un moyen de charger des fichiers et les bibliothèques; et une méthode utilitaire pour copier une partie de tableau.

depuis: JDK1.0

si vous ne savez pas que signifie instantiate, lisez cette question . C'est la question C# mais le concept est de même.

aussi, Quelle est la différence entre une Instance et un objet?

si vous ne savez pas qu'entend-on par surcharge lisez cette question .

1
répondu Blasanka 2017-07-20 14:56:58

System est une classe.

la variable out (ci-dessus appelée System.out ) est une variable de classe de la classe système.

la classe PrintStream est dans un paquet de classes qui sont utilisées pour fournir la capacité d'e/s de flux pour Java.

la variable out de la classe System se réfère (pointe) à une instance de la classe PrintStream (objet PrintStream ) qui est automatiquement instanciée lorsque la classe System est chargée dans l'application. La classe PrintStream a une méthode d'instance appelée println() qui fait afficher son argument sur le périphérique de sortie standard.

1
répondu DurgaPrasad9v 2017-07-20 17:43:44

System est une classe du colis java.lang .

out est l'élément de données statique de la classe System et de la variable de référence de la classe PrintStream .

Println() est une méthode normale (surchargée) de la classe PrintStream .

0
répondu mohd zeeshan 2012-09-28 14:45:58

du javadoc à propos de System , voici ce que dit le doc:

public final class System
extends Object

The System class contains several useful class fields and methods. It cannot be instantiated.
Among the facilities provided by the System class are standard input, standard output, and error output streams; access to externally defined properties and environment variables; a means of loading files and libraries; and a utility method for quickly copying a portion of an array.

Since:
JDK1.0

concernant System.out

public static final PrintStream out

The "standard" output stream class Prinstream  belongs to java.io package. This stream is already open and ready to accept output data. 
When the JVM is initialized, the method initializeSystemClass() is called that does exactly what it’s name says – it initializes the System class and sets the out variable. The initializeSystemClass() method actually calls another method to set the out variable – this method is called setOut().
Typically this stream corresponds to display output or another output destination specified by the host environment or user.

concernant println ();

class PrintStream{
public void println();
}

pour les applications Java autonomes simples, une façon typique d'écrire une ligne de données de sortie est:

System.out.println(data);
0
répondu Nagaraja G Devadiga 2014-12-10 06:47:02

System - classe qui est final dans la nature. public final class System{} . Appartient à java.lang paquet

out - static variable de référence du type PrintStream

println() - Non static méthode dans la classe PrintStream . PrintStream fait partie du paquet java.io .

pour mieux le comprendre, vous pouvez visiter: comment le système.hors.println () fonctionne en Java

0
répondu Mantu 2015-08-14 18:28:25

Système est la classe java.

out est l'instance et aussi l'élément statique de PrintStream.

println est la méthode de PrintStream.

0
répondu Ravi Rupapara 2015-09-21 13:13:39
Système

.hors.println("...") en code Java est traduit en JVM. En regardant le JVM, j'ai pu mieux comprendre ce qui se passe derrière le capot.

du livre Programmation de la forme de la Machine Virtuelle Java . Ce code est copié de https://github.com/ymasory/programming-for-the-jvm/blob/master/examples/HelloWorld.j .

c'est le code source JVM.

.class public HelloWorld
.super java/lang/Object

.method public static main([Ljava/lang/String;)V
.limit stack 2
.limit locals 1
  getstatic java/lang/System/out Ljava/io/PrintStream;
  ldc "Hello, world"
  invokevirtual java/io/PrintStream/println
    (Ljava/lang/String;)V
  return

.end method
.end class

comme" la JVM ne permet pas l'accès au niveau des octets à la mémoire "l'objet out de type L java/io/PrintSteram est stocké dans une pile avec la commande getstatic de la JVM. L'argument est poussé sur la pile avant d'appelé une méthode println de la java/io/PrintStream classe d'une instance nommée out . Le paramètre de la méthode est (l java/lang/String ;) et le type de sortie est nul (V).

0
répondu prosseek 2016-05-08 16:29:35
System.out.println

System - est une classe de java.lang paquet. out est un membre de données static de la classe System et fait référence à une variable de la classe PrintStream .

0
répondu kuldeep rawat 2017-07-20 16:57:23

System : est une classe prédéfinie de colis java.lang .

out : est un static membre de la classe printStream et sa connexion avec la console.

Println : est une méthode de la classe printstream et non pas un static .

0
répondu user3819423 2017-07-20 16:58:19