System.out.println

24 respostas
J

Análisando System.out.println quem seria classe e método?

24 Respostas

A

System - pacote
out - classe
println - método

resumindo: você acessa a metade do nome até acessar o método desejado. O nome completo dele, creio eu, seria java.lang.System.out.println()

alexandref93

andre.froes:
System - pacote
out - classe
println - método

resumindo: você acessa a metade do nome até acessar o método desejado. O nome completo dele, creio eu, seria java.lang.System.out.println()

estranho, classes não começa sempre com letra maiusculas??
sei lah, posso tah errado, mais acho que seria mais fácil dizer que o System é a classe, igual esse link:
http://download.oracle.com/javase/6/docs/api/index.html

que seria do pacote Lang!!

posso tah errado!!!

J

Certo, por que não precisei chamar o java.lang?

Obrigado

J

Complementando.

Não consegui.

Dei import em Java.lang.System

e chamei o out.print(“AAA”);

mas não compila, so se informar o System.

alexandref93

javamail:
Certo, por que não precisei chamar o java.lang?

Obrigado

por que é automaticamente importado, por que se não toda vez que vc declarar um string por exemplo teria que importar, mais o java jah faz automaticamente, na apostila da caelum sobre orientação ao objeto fala sobre isso!!!

xD
espero ter ajudado!!!

Richard_Mendes_Madur

Correção:

O System é uma classe final que fica dentrodo pacote java.lang (Não precisa declarar um import para classes desse pacote).
O out é uma instância da classe PrintStream.
E o println é um método de PrintStream.

alexandref93

javamail:
Complementando.

Não consegui.

Dei import em Java.lang.System

e chamei o out.print(“AAA”);

mas não compila, so se informar o System.

por q o out não é uma classe e o System é!!! xD

alexandref93

Richard Mendes Madureira:
Correção:

O System é uma classe final que fica dentrodo pacote java.lang (Não precisa declarar um import para classes desse pacote).
O out é uma instância da classe PrintStream.
E o println é um método de PrintStream.

putz, flw tudo, era bem isso que eu queria falar, vlw!!!

venomtotal

Acredito que seria:

System - Classe
out - atributo
println - metodo do atributo

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

ViniGodoy

javamail:
Complementando.

Não consegui.

Dei import em Java.lang.System

e chamei o out.print(“AAA”);

mas não compila, so se informar o System.

Como System é uma classe, você pode importar seu conteúdo estático apenas com o static import.

import static java.lang.System.*;

Só assim você poderá fazer:

out.println("x"); err.println("y");

alexandref93

ViniGodoy:
javamail:
Complementando.

Não consegui.

Dei import em Java.lang.System

e chamei o out.print(“AAA”);

mas não compila, so se informar o System.

Como System é uma classe, você pode importar seu conteúdo estático apenas com o static import.

import static java.lang.System.*;

Só assim você poderá fazer:

out.println("x"); err.println("y");

opa, jah adquiri mais conhecimento, não sabia dessa!!!

então, se eu criar uma classe com método static eu dou import como vc flw, eu só chamo o método??? sem precisar fazer Class.método???

evertonsilvagomesjav
alexandref93:
ViniGodoy:
javamail:
Complementando.

Não consegui.

Dei import em Java.lang.System

e chamei o out.print("AAA");

mas não compila, so se informar o System.

Como System é uma classe, você pode importar seu conteúdo estático apenas com o static import.

import static java.lang.System.*;
Só assim você poderá fazer:
out.println("x");
err.println("y");

opa, jah adquiri mais conhecimento, não sabia dessa!!!

então, se eu criar uma classe com método static eu dou import como vc flw, eu só chamo o método??? sem precisar fazer Class.método???

Sim outro exemplo disso seria:

package teste;

import static java.lang.Integer.*;

public class TesteImportStatic {
	
	public static void main(String[] args) {
		
		int num = parseInt("1"); // parseInt foi importado então nao precisou fazer Integer.parseInt(...)
}
}
ViniGodoy

Sim, é uma funcionalidade que entrou no Java 5. Muito útil com classes como Math.

Mas não é muito comum ver quase ninguém usando. Eu mesmo, quase não uso.

alexandref93

ViniGodoy:
Sim, é uma funcionalidade que entrou no Java 5. Muito útil com classes como Math.

Mas não é muito comum ver quase ninguém usando. Eu mesmo, quase não uso.

mais possuem alguma desvantagens ou vantagens, ou foi num estilo tipo “é só pra bonito”, xD, posso tah abusando xD!!!

ViniGodoy

A vantagem é que você simplifica o código. Principalmente em classes que usem muitos métodos estáticos.
A desvantagem é que perde um pouco da clareza, já que você não sabe de onde aquelas funções surgiram, já que elas não são parte da classe que você está implementando.

alexandref93

A vantagem é que você simplifica o código. Principalmente em classes que usem muitos métodos estáticos.
A desvantagem é que perde um pouco da clareza, já que você não sabe de onde aquelas funções surgiram, já que elas não são parte da classe que você está implementando.

é bom saber disso xD!!! vlw, obrigado pela atenção!

Carlos_ds_jar

alexandref93:
ViniGodoy:
Sim, é uma funcionalidade que entrou no Java 5. Muito útil com classes como Math.

Mas não é muito comum ver quase ninguém usando. Eu mesmo, quase não uso.

mais possuem alguma desvantagens ou vantagens, ou foi num estilo tipo “é só pra bonito”, xD, posso tah abusando xD!!!


Eu acho que deixa o código mais cognitivo, pra quem desenvolve e pra quem o manterá…

alexandref93

Carlos_ds_jar:
alexandref93:
ViniGodoy:
Sim, é uma funcionalidade que entrou no Java 5. Muito útil com classes como Math.

Mas não é muito comum ver quase ninguém usando. Eu mesmo, quase não uso.

mais possuem alguma desvantagens ou vantagens, ou foi num estilo tipo “é só pra bonito”, xD, posso tah abusando xD!!!


Eu acho que deixa o código mais cognitivo, pra quem desenvolve e pra quem o manterá…

como assim código mais cognitivo???

Carlos_ds_jar

A cognição é tudo o que acontece na nossa mente no momento que planejamos algo ou temos alguma idéia, de forma que quando eu falei aquilo quis dizer que no meu humilde ponto de vista acho aquele código mais legível e mais fácil de manter e pensar sobre os demais do seu tipo :idea:

alexandref93

xD, agora entendi!!!

Carlos_ds_jar

De tanto olhar pra esse código acabei ficando com uma dúvida :shock:

Se eu tiver uma classe X que tem um método estático print(String s) e uma classe Y que tem um método estático print(String s), ou seja métodos iguais e eu fazer o import static na classe X e na classe Y e no meio da classe que recebeu esses imports eu chamar o método print(“a”), a JVM vai chamar o método estático de X ou de Y :?:

davidbuzatto

Carlos_ds_jar:
De tanto olhar pra esse código acabei ficando com uma dúvida :shock:

Se eu tiver uma classe X que tem um método estático print(String s) e uma classe Y que tem um método estático print(String s), ou seja métodos iguais e eu fazer o import static na classe X e na classe Y e no meio da classe que recebeu esses imports eu chamar o método print(“a”), a JVM vai chamar o método estático de X ou de Y :?:

Vc testou? Simplesmente não compila caso você tente usar o método ambíguo.

edu_fernandes

static você não precisa instanciar a classe.
Seria o não usar new.

J

Esse import static é so para classes e métodos static?
Eu perco performance por usar classes e metodos static?

Criado 22 de agosto de 2010
Ultima resposta 23 de ago. de 2010
Respostas 24
Participantes 10