print imprimir atajo java system.out

imprimir - ¿Cuál es el significado de System.out.println en Java?



system.out.println java atajo (20)

System.out.println ()

Comprensión de alto nivel

Para entender esto, debemos recordar algunos conceptos básicos de Java:

  • operador de punto (.) en java: en java. (operador de punto) se usa solo para llamar a métodos o variables. Entonces podemos decir que es un método o una variable.
  • Métodos en Java: sabemos que los métodos siempre tienen paréntesis ''()'' después del nombre del método, así que no puede ser un método en Java. Así que es una variable y println () es un método .
  • Nombre de la clase en Java: el nombre de la clase debe comenzar con mayúscula idealmente en java, entonces el sistema es una clase .

Ahora con conocimientos básicos de Java, sabemos:

  • El sistema es una clase
  • fuera es una variable
  • println () es un método

Permite obtener más detalles:

variable de salida : estática o instancia?

  • llamado utilizando el nombre de la clase, por lo que sabemos su variable estática de la clase del sistema.

  • pero su llamado a un método println () método ''fuera'' es un objeto del tipo de referencia PrintStream.

la clase del sistema pertenece al paquete java.lang

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

la clase Prinstream pertenece al paquete java.io

class PrintStream{ public void println(); //... }

¿Esta función de println estática println out clase desde el espacio de nombres del System ?

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

¿Cómo puedo interpretar este nombre? ¿Y dónde en JRE se define esta función? En java.lang.System / java.lang.Object ?


• El System es una clase en el paquete java.lang

out es un objeto static de la clase PrintStream en el paquete PrintStream

println() es un método en la clase PrintStream


Debido a que se llama a out con el nombre de clase del System sí, no a una instancia de una clase (un objeto), So out debe ser una variable estática que pertenece a la clase System . out debe ser instancia de una clase, porque invoca el método println() .

// the System class belongs to java.lang package class System { public static final PrintStream out; } class PrintStream { public void println(); }


Desde javadoc sobre System , esto es lo que dice el documento:

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

En cuanto a 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.

En cuanto a println ();

class PrintStream{ public void println(); }

Para aplicaciones Java simples e independientes, una forma típica de escribir una línea de datos de salida es:

System.out.println(data);


Es bastante simple entender la pregunta, pero para responderla necesitamos profundizar en el código nativo de Java.

  • System es de clase estática y no se puede instanciar
  • out es una variable de referencia definida en System
  • println() es el método utilizado para imprimir en salida estándar.

Una breve y agradable explicación siempre es bienvenida, ya que podemos aprender mucho de esta única línea de enunciado.



System.out.println ("...") en código Java se traduce a JVM. Mirar hacia la JVM me permitió comprender mejor lo que ocurre detrás del capó.

Del libro Programming form the Java Virtual Machine . Este código se copia de https://github.com/ymasory/programming-for-the-jvm/blob/master/examples/HelloWorld.j .

Este es el código fuente de 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

Como "La JVM no permite el acceso de nivel de byte a la memoria", el objeto de out en el tipo L java/io/PrintSteram ; se almacena en una pila con el getstatic JVM getstatic . Luego, el argumento se empuja en la pila antes de llamar a un método println de la clase java/io/PrintStream de una instancia nombrada. El parámetro del método es (L java/lang/String ;) y el tipo de salida es vacío (V).


Ver el siguiente enlace:

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

Verá claramente que:

System es una clase en el paquete java.lang .

out es un miembro estático de la clase System , y es una instancia de java.io.PrintStream .

println es un método de java.io.PrintStream . Este método está sobrecargado para imprimir el mensaje al destino de salida, que generalmente es una consola o archivo.


System - clase que es de naturaleza final . public final class System{} . Pertenece al paquete java.lang

out - variable de referencia static de tipo PrintStream

println() - método no static en la clase PrintStream . PrintStream pertenece al paquete PrintStream

Para entenderlo mejor, puede visitar: Cómo funciona System.out.println () en Java


System es una clase del paquete java.lang , out es un objeto de la clase PrintStream y también miembro de datos static de la clase System , print() y println() es un método de instancia de la clase PrintStream . es proporcionar salida suave en la consola.



System es una clase en el paquete java.lang .

out es el miembro de datos estáticos en la clase del System y la variable de referencia de la clase PrintStream .

Println() es un método normal (sobrecargado) de la clase PrintStream .


System es una clase que tiene un campo público estático out . Entonces es más como

class System { public static PrintStream out; } class PrintStream { public void println ... }

Esta es una pequeña simplificación excesiva, ya que la clase PrintStream está realmente en el paquete java.io , pero es lo suficientemente buena para mostrar la relación de las cosas.


System es una clase.

La variable de salida (referida anteriormente como System.out ) es una variable de clase de la clase System.

La clase PrintStream está en un paquete de clases que se utilizan para proporcionar capacidad de E / S de flujo para Java.

La variable de out en la clase del System refiere a (apunta a) una instancia de la clase PrintStream (un objeto PrintStream ) que se PrintStream una instancia automáticamente cuando se carga la clase System en la aplicación. La clase PrintStream tiene un método de instancia llamado println() que hace que su argumento se muestre en el dispositivo de salida estándar.


println e print son los dos métodos sobrecargados que pertenecen a la clase PrintStream .

Para acceder a ellos, necesitamos una instancia de esta clase.

Se crea una propiedad estática llamada out del tipo PrintStream en la clase del System .

Por lo tanto, para acceder a los métodos anteriores, usamos las siguientes afirmaciones:

System.out.println("foo"); System.out.print("foo");


System : es una clase predefinida del paquete java.lang .

out : es un miembro static de la clase printStream y se conecta con la consola.

Println : es un método de clase printstream y no es static .


El sistema es la clase java.

out es la instancia y también miembro estático de PrintStream.

println es el método de PrintStream.


System.out.println

System - es una clase en java.lang pacakge. out es un miembro de datos static de la clase System y hace referencia a una variable de PrintStream Class.


System.out.println("Hello World");

  1. System : es el nombre de la clase estándar que contiene objetos que encapsula los dispositivos de E / S estándar de su sistema.

Está contenido en el paquete java.lang . Como el paquete java.lang se importa en cada programa java de forma predeterminada, el paquete java.lang es el único en la API de Java que no requiere una declaración de importación.

  1. out : El objeto out representa el flujo de salida (es decir, la ventana de comandos) y es el miembro de datos estáticos de la clase System .

Así que tenga en cuenta aquí System.out ( System Class & out - objeto estático, es decir, por qué simplemente se hace referencia por nombre de clase y no necesitamos crear ningún objeto ).

  1. println : println() es un método de objeto que toma la cadena de texto como argumento y la muestra en la salida estándar, es decir, en la pantalla del monitor .

Nota
System Clase
Objeto fuera de estado
println() -metodo
Recuerde que una función (en la función java se llama método) siempre tiene la función de formato ()


System.out.println();

System es la clase

out es una variable en la clase System y es un tipo static y variable es PrintStream .

Aquí está la variable de out en la clase del System :

public final static PrintStream out = null;

Puede ver la implementación del System aquí .

println() es un método sobrecargado en la clase PrintStream .

PrintStream incluye tres métodos de impresión sobrecargados, que son:

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

Puede ver la implementación de PrintStream aquí .

No se puede crear una instancia de la clase System y es una clase secundaria de Object y el Object es el padre (superclase) de todas las clases, incluidas las clases que usted definió.

Esto es lo que dicen los documentos del oráculo:

public final class System extends Object

La clase del System contiene varios campos y métodos de clase útiles. No puede ser instanciado.

Entre las facilidades proporcionadas por la clase System encuentran las entradas estándar, la salida estándar y las secuencias de salida de error; acceso a propiedades definidas externamente y variables de entorno; un medio de cargar archivos y bibliotecas; y un método de utilidad para copiar rápidamente una parte de una matriz.

Desde: JDK1.0

Si no sabes a qué se refiere la creación de instancias, lee esta pregunta . Es una pregunta C # pero el concepto es el mismo.

Además, ¿cuál es la diferencia entre una instancia y un objeto?

Si no sabes lo que significa sobrecarga, lee esta pregunta .