Essa classe compila?

21 respostas
Java_Player

Você conseguiria dizer, só olhando, se essa classe compila?

E se não compila, saberia dizer por quê, sem jogar no compilador??

class _ {
	
	_ _;
	$ $;
	
	_(){
		$.$();
	}
	
	_(_ _){
		_(_)._();
	}
	
	_($ _){
		new _($.$._);
	}
	
	_ _(){
		return _($);
	}

	_ _(_ _){
		return _._;
	}
	
	$ _($ _){
		return $.$(_()._)._($);
	}
	
	_ $(){
		return $._();
	}
	
	_ $(_ _){
		return _;
	}
	
	_ $($ $){
		return _;
	}
	
	class $ extends _ {
		
		_ $;
		$ _;
		
		$(){
			new $($);
		}
		
		$(_ _){
			_(_);
		}
		
		$ _($ $){
			$().$($)._(_);
		}
		
	}
}

21 Respostas

T

com meu pouco conhecimento em java…

acho que não…



_ _;

$ $;

abraços

LPJava

nao…compila… agora as linhas abaixos o que seria sem tipo… ? e mesmo q tivesse nao compilava… nao olhei nem o restante…

erickcellani

simples…

roda ela e veja o resultado!!

mas ja adianto que naum!.. ela naum vai rodar!!! pq tem um metodo sem retorno!!..

o correto seria assim:

class _ {

	_ _;
	$ $;

	_(){
		$.$();
	}

	_(_ _){
		_(_)._();
	}

	_($ _){
		new _($.$._);
	}

	_ _(){
		return _($);
	}

	_ _(_ _){
		return _._;
	}

	$ _($ _){
		return $.$(_()._)._($);
	}

	_ $(){
		return $._();
	}

	_ $(_ _){
		return _;
	}

	_ $($ $){
		return _;
	}

	class $ extends _ {

		_ $;
		$ _;

		$(){
			new $($);
		}

		$(_ _){
			_(_);
		}

		$ _($ $){
			return $().$($)._(_);//esse metodo estava sem retorno!
		}

	}
}

:smiley:

ViniGodoy

Acho que não compila.

Está faltando um returno no método:
$ _($ $){

Da classe $.
Mas se incluir a linha return new $() no final, daí compila direitinho…

Mas… qual é o propósito disso???

erickcellani

LPJava:
nao…compila… agora as linhas abaixos o que seria sem tipo… ? e mesmo q tivesse nao compilava… nao olhei nem o restante…

como assim sem tipo brother!!..

leia a classe inteira… e vc verá que vc flw uma grande bobeira!

ViniGodoy

erickcellani:
simples…

roda ela e veja o resultado!!

Acho que a proposta dele era que você fizesse isso SEM olhar o resultado…

Java Player:

Você conseguiria dizer, só olhando, se essa classe compila?

E se não compila, saberia dizer por quê, sem jogar no compilador??

ViniGodoy

Aliás, se quer deixar a coisa realmente interessante, renomeie a classe $ para __.

O resultado ficará ainda mais exótico…

erickcellani

ViniGodoy:
erickcellani:
simples…

roda ela e veja o resultado!!

Acho que a proposta dele era que você fizesse isso SEM olhar o resultado…

Java Player:

Você conseguiria dizer, só olhando, se essa classe compila?

E se não compila, saberia dizer por quê, sem jogar no compilador??

rsrs… foi mal… naum li direito!! rsrs…

mas enfim… ja está ai o resultado!!!

sem jogar no compilador! :smiley:

elomarns

LPJava:
nao…compila… agora as linhas abaixos o que seria sem tipo… ? e mesmo q tivesse nao compilava… nao olhei nem o restante…


Lembre-se que tanto _ como $ são identificadores válidos, logo podem ser nomes de classes, constituindo-se assim como tipos de referência.

ViniGodoy

erickcellani:
rsrs… foi mal… naum li direito!! rsrs…

mas enfim… ja está ai o resultado!!!

sem jogar no compilador! :D

Acontece nas melhores famílias! hehehehe :lol:

nbluis

isso é bizarro e ao mesmo tempo legal;

Faça métodos tipo.

public void nãoFicarãoAbismadosCom_o_Java(){}

até isso dá …
só não esqueçam das convenções de código, tem que começar com letraMinuscula e o separador deve ser em letra maiúscula ao invés do “_”;

hehehe

Java_Player

E essa classe, compila?

class a {
 	
 	a a;
 	
 	a(){
 	}
 	
 	a(a a){
 	}
 	
 	a a(){
 		a a = this.a;
 		return a;
 	}
 
 	a a(a a){
 		return a;
 	}

 }

Repare que “a” é:

  • nome da classe,
  • nome do atributo,
  • nome de método contrutor,
  • nome de método não-construtor,
  • nome de variável local,
  • nome de parâmetro de método

Imagina uma questão dessas na prova de certificação.

erickcellani

Java Player:
E essa classe, compila?

class a {
 	
 	a a;
 	
 	a(){
 	}
 	
 	a(a a){
 	}
 	
 	a a(){
 		a a = this.a;
 		return a;
 	}
 
 	a a(a a){
 		return a;
 	}

 }

Repare que “a” é:

  • nome da classe,
  • nome do atributo,
  • nome de método contrutor,
  • nome de método não-construtor,
  • nome de variável local,
  • nome de parâmetro de método

Imagina uma questão dessas na prova de certificação.

qual a finalidade disso brother???

ficar testando os usuários do guj???

para que???

Java_Player

erickcellani:

qual a finalidade disso brother???

ficar testando os usuários do guj???

para que???

De bobeira, só curiosidade mesmo. Por isso que eu coloquei off-topic.

Eu a pouco tempo não sabia que podemos criar um atributo com o mesmo nome da classe:

a a;

Nem que podemos criar um método não-construtor com mesmo nome do contrutor:

a(){ //construtor
}

a a(){ //não-construtor
}

Mas é claro que nunca vamos usar isso na vida, a não ser que seja pra passar na prova de certificação.

erickcellani
Java Player:
erickcellani:
qual a finalidade disso brother???

ficar testando os usuários do guj???

para que???

De bobeira, só curiosidade mesmo. Por isso que eu coloquei off-topic.

Eu a pouco tempo não sabia que podemos criar um atributo com o mesmo nome da classe:

a a;

Nem que podemos criar um método não-construtor com mesmo nome do contrutor:

a(){ //construtor
}

a a(){ //não-construtor
}

bom... até ai tudo bem cara...
mas isso são duvidas suas que ja foram resolvidas por vc mesmo antes de abrir esse tópico...!!! rsrs...!!!
por isso o meu espanto!!

Java_Player

erickcellani:

bom… até ai tudo bem cara…
mas isso são duvidas suas que ja foram resolvidas por vc mesmo antes de abrir esse tópico…!!! rsrs…!!!
por isso o meu espanto!!

Eu sei, mas eu não coloquei aqui para tirar nenhuma dúvida minha não. Coloquei para vcs como uma curiosidade.

G

Que diferença faz funcionar ou não. Quem vai fazer isso em um projeto? hehhehhe…

T

Como de costume, vamos botar mais lenha na fogueira. O que faz este programa Java?
Já postei esta classe várias vezes aqui. Isto é um programa Java normal, sem truques (exceto pela codificação).

\u0069\u006D\u0070\u006F\u0072\u0074 \u006A\u0061\u0076\u0061\u002E\u0075\u0074\u0069\u006C\u002E\u002A\u003B
\u0063\u006C\u0061\u0073\u0073 \u0045\u0078\u0065\u0072\u0063\u0069\u0063\u0069\u006F \u007B
\u0009\u0070\u0075\u0062\u006C\u0069\u0063 \u0073\u0074\u0061\u0074\u0069\u0063 \u0076\u006F\u0069\u0064 \u006D\u0061\u0069\u006E\u0028\u0053\u0074\u0072\u0069\u006E\u0067\u005B\u005D \u0061\u0072\u0067\u0073\u0029 \u007B
\u0009\u0009\u0053\u0063\u0061\u006E\u006E\u0065\u0072 \u0073\u0063\u0061\u006E \u003D \u006E\u0065\u0077 \u0053\u0063\u0061\u006E\u006E\u0065\u0072 \u0028\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u0069\u006E\u0029\u003B
\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074 \u0028\u0022\u004E\u006F\u006D\u0065 \u0064\u0061 \u0070\u0072\u0069\u006D\u0065\u0069\u0072\u0061 \u0070\u0065\u0073\u0073\u006F\u0061\u003A \u0022\u0029\u003B
\u0009\u0009\u0053\u0074\u0072\u0069\u006E\u0067 \u006E\u006F\u006D\u0065\u0031 \u003D \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u004C\u0069\u006E\u0065\u0028\u0029\u003B
\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074 \u0028\u0022\u0050\u0065\u0073\u006F \u0065\u006D \u006B\u0067\u003A \u0022\u0029\u003B
\u0009\u0009\u0069\u006E\u0074 \u0070\u0065\u0073\u006F\u0031 \u003D \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u0049\u006E\u0074\u0028\u0029\u003B \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u004C\u0069\u006E\u0065\u0028\u0029\u003B
\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074 \u0028\u0022\u004E\u006F\u006D\u0065 \u0064\u0061 \u0073\u0065\u0067\u0075\u006E\u0064\u0061 \u0070\u0065\u0073\u0073\u006F\u0061\u003A \u0022\u0029\u003B
\u0009\u0009\u0053\u0074\u0072\u0069\u006E\u0067 \u006E\u006F\u006D\u0065\u0032 \u003D \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u004C\u0069\u006E\u0065\u0028\u0029\u003B
\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074 \u0028\u0022\u0050\u0065\u0073\u006F \u0065\u006D \u006B\u0067\u003A \u0022\u0029\u003B
\u0009\u0009\u0069\u006E\u0074 \u0070\u0065\u0073\u006F\u0032 \u003D \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u0049\u006E\u0074\u0028\u0029\u003B \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u004C\u0069\u006E\u0065\u0028\u0029\u003B
\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074\u006C\u006E \u0028\u0022\u004F \u0069\u006E\u0064\u0069\u0076\u0069\u0064\u0075\u006F \u006D\u0061\u0069\u0073 \u0070\u0065\u0073\u0061\u0064\u006F \u0065\u0068\u003A \u0022\u0029\u003B
\u0009\u0009\u0069\u0066 \u0028\u0070\u0065\u0073\u006F\u0031 \u003E \u0070\u0065\u0073\u006F\u0032\u0029 \u007B
\u0009\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074\u0066 \u0028\u0022\u0025\u0073\u002C \u0063\u006F\u006D \u0025\u0064 \u006B\u0067\u0025\u006E\u0022\u002C \u006E\u006F\u006D\u0065\u0031\u002C \u0070\u0065\u0073\u006F\u0031\u0029\u003B
\u0009\u0009\u007D \u0065\u006C\u0073\u0065 \u0069\u0066 \u0028\u0070\u0065\u0073\u006F\u0031 \u003C \u0070\u0065\u0073\u006F\u0032\u0029 \u007B
\u0009\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074\u0066 \u0028\u0022\u0025\u0073\u002C \u0063\u006F\u006D \u0025\u0064 \u006B\u0067\u0025\u006E\u0022\u002C \u006E\u006F\u006D\u0065\u0032\u002C \u0070\u0065\u0073\u006F\u0032\u0029\u003B
\u0009\u0009\u007D \u0065\u006C\u0073\u0065 \u007B
\u0009\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074\u0066 \u0028\u0022\u0025\u0073 \u0065 \u0025\u0073 \u0074\u0065\u006D \u006F \u006D\u0065\u0073\u006D\u006F \u0070\u0065\u0073\u006F \u002D \u0025\u0064 \u006B\u0067\u0025\u006E\u0022\u002C \u006E\u006F\u006D\u0065\u0031\u002C \u006E\u006F\u006D\u0065\u0032\u002C \u0070\u0065\u0073\u006F\u0031\u0029\u003B
\u0009\u0009\u007D
\u0009\u007D
\u007D
S

É impossível saber o que isso aí faz sem testar :evil:

marcosbrandao

thingol:
Como de costume, vamos botar mais lenha na fogueira. O que faz este programa Java?
Já postei esta classe várias vezes aqui. Isto é um programa Java normal, sem truques (exceto pela codificação).

\u0069\u006D\u0070\u006F\u0072\u0074 \u006A\u0061\u0076\u0061\u002E\u0075\u0074\u0069\u006C\u002E\u002A\u003B \u0063\u006C\u0061\u0073\u0073 \u0045\u0078\u0065\u0072\u0063\u0069\u0063\u0069\u006F \u007B \u0009\u0070\u0075\u0062\u006C\u0069\u0063 \u0073\u0074\u0061\u0074\u0069\u0063 \u0076\u006F\u0069\u0064 \u006D\u0061\u0069\u006E\u0028\u0053\u0074\u0072\u0069\u006E\u0067\u005B\u005D \u0061\u0072\u0067\u0073\u0029 \u007B \u0009\u0009\u0053\u0063\u0061\u006E\u006E\u0065\u0072 \u0073\u0063\u0061\u006E \u003D \u006E\u0065\u0077 \u0053\u0063\u0061\u006E\u006E\u0065\u0072 \u0028\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u0069\u006E\u0029\u003B \u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074 \u0028\u0022\u004E\u006F\u006D\u0065 \u0064\u0061 \u0070\u0072\u0069\u006D\u0065\u0069\u0072\u0061 \u0070\u0065\u0073\u0073\u006F\u0061\u003A \u0022\u0029\u003B \u0009\u0009\u0053\u0074\u0072\u0069\u006E\u0067 \u006E\u006F\u006D\u0065\u0031 \u003D \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u004C\u0069\u006E\u0065\u0028\u0029\u003B \u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074 \u0028\u0022\u0050\u0065\u0073\u006F \u0065\u006D \u006B\u0067\u003A \u0022\u0029\u003B \u0009\u0009\u0069\u006E\u0074 \u0070\u0065\u0073\u006F\u0031 \u003D \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u0049\u006E\u0074\u0028\u0029\u003B \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u004C\u0069\u006E\u0065\u0028\u0029\u003B \u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074 \u0028\u0022\u004E\u006F\u006D\u0065 \u0064\u0061 \u0073\u0065\u0067\u0075\u006E\u0064\u0061 \u0070\u0065\u0073\u0073\u006F\u0061\u003A \u0022\u0029\u003B \u0009\u0009\u0053\u0074\u0072\u0069\u006E\u0067 \u006E\u006F\u006D\u0065\u0032 \u003D \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u004C\u0069\u006E\u0065\u0028\u0029\u003B \u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074 \u0028\u0022\u0050\u0065\u0073\u006F \u0065\u006D \u006B\u0067\u003A \u0022\u0029\u003B \u0009\u0009\u0069\u006E\u0074 \u0070\u0065\u0073\u006F\u0032 \u003D \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u0049\u006E\u0074\u0028\u0029\u003B \u0073\u0063\u0061\u006E\u002E\u006E\u0065\u0078\u0074\u004C\u0069\u006E\u0065\u0028\u0029\u003B \u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074\u006C\u006E \u0028\u0022\u004F \u0069\u006E\u0064\u0069\u0076\u0069\u0064\u0075\u006F \u006D\u0061\u0069\u0073 \u0070\u0065\u0073\u0061\u0064\u006F \u0065\u0068\u003A \u0022\u0029\u003B \u0009\u0009\u0069\u0066 \u0028\u0070\u0065\u0073\u006F\u0031 \u003E \u0070\u0065\u0073\u006F\u0032\u0029 \u007B \u0009\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074\u0066 \u0028\u0022\u0025\u0073\u002C \u0063\u006F\u006D \u0025\u0064 \u006B\u0067\u0025\u006E\u0022\u002C \u006E\u006F\u006D\u0065\u0031\u002C \u0070\u0065\u0073\u006F\u0031\u0029\u003B \u0009\u0009\u007D \u0065\u006C\u0073\u0065 \u0069\u0066 \u0028\u0070\u0065\u0073\u006F\u0031 \u003C \u0070\u0065\u0073\u006F\u0032\u0029 \u007B \u0009\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074\u0066 \u0028\u0022\u0025\u0073\u002C \u0063\u006F\u006D \u0025\u0064 \u006B\u0067\u0025\u006E\u0022\u002C \u006E\u006F\u006D\u0065\u0032\u002C \u0070\u0065\u0073\u006F\u0032\u0029\u003B \u0009\u0009\u007D \u0065\u006C\u0073\u0065 \u007B \u0009\u0009\u0009\u0053\u0079\u0073\u0074\u0065\u006D\u002E\u006F\u0075\u0074\u002E\u0070\u0072\u0069\u006E\u0074\u0066 \u0028\u0022\u0025\u0073 \u0065 \u0025\u0073 \u0074\u0065\u006D \u006F \u006D\u0065\u0073\u006D\u006F \u0070\u0065\u0073\u006F \u002D \u0025\u0064 \u006B\u0067\u0025\u006E\u0022\u002C \u006E\u006F\u006D\u0065\u0031\u002C \u006E\u006F\u006D\u0065\u0032\u002C \u0070\u0065\u0073\u006F\u0031\u0029\u003B \u0009\u0009\u007D \u0009\u007D \u007D

Ela faz a JVM trabalhar :smiley: :smiley: :smiley:

Abdon

Esta classe da um System.out.println(“Eu sou um suicida lunartico”);

Criado 22 de maio de 2007
Ultima resposta 24 de mai. de 2007
Respostas 21
Participantes 12