<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Java on Capitangolo.net</title>
    <link>https://capitangolo.net/tag/java/</link>
    <description>Recent content in Java on Capitangolo.net</description>
    <generator>Hugo -- 0.155.1</generator>
    <language>es-ES</language>
    <lastBuildDate>Fri, 27 Aug 2010 19:05:45 +0000</lastBuildDate>
    <atom:link href="https://capitangolo.net/tag/java/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Acertijo Java (Solución)</title>
      <link>https://capitangolo.net/blog/acertijo-java-solucion/</link>
      <pubDate>Fri, 27 Aug 2010 19:05:45 +0000</pubDate>
      <guid>https://capitangolo.net/blog/acertijo-java-solucion/</guid>
      <description>&lt;p&gt;A principios de mes proponía un &lt;a href=&#34;https://capitangolo.net/Blog/?p=394&#34;&gt;Acertijo Java&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;¿Qué sale por pantalla al ejecutar la clase FooBar?&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import static java.lang.System.*;
public class FooBar {
  public FooBar() {
    out.print(&amp;#34; Instance &amp;#34;);
  }
  static {
    out.print(&amp;#34; Static &amp;#34;);
  }
  public static void main (String args) {
    out.print(&amp;#34; Main &amp;#34;);
    new FooBar();
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Simplificando, lo que ocurre es lo siguiente:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Se &lt;strong&gt;carga&lt;/strong&gt; la clase FooBar en memoria&lt;/li&gt;
&lt;li&gt;Se ejecutan los &lt;strong&gt;bloques estáticos:&lt;/strong&gt; static{}&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;out.print(&amp;quot; Static &amp;ldquo;);&lt;/strong&gt; está en un bloque estático&lt;/li&gt;
&lt;li&gt;Una vez cargada la clase, ya se pueden ejecutar &lt;strong&gt;métodos estáticos&lt;/strong&gt; como main&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;out.print(&amp;rdquo; Main &amp;ldquo;);&lt;/strong&gt; está dentro del método main&lt;/li&gt;
&lt;li&gt;Se crea una instancia de la clase FooBar en el método main&lt;/li&gt;
&lt;li&gt;Para ello se ejecuta el &lt;strong&gt;constructor&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;out.print(&amp;rdquo; Instance &amp;ldquo;);&lt;/strong&gt; está en el constructor&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Siguiendo este razonamiento, la opción correcta sería la c: &amp;ldquo;Static Main Instance&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Acertijo Java</title>
      <link>https://capitangolo.net/blog/acertijo-java/</link>
      <pubDate>Mon, 02 Aug 2010 13:41:51 +0000</pubDate>
      <guid>https://capitangolo.net/blog/acertijo-java/</guid>
      <description>&lt;p&gt;Volvemos después de la resaca de año nuevo con un acertijo java.&lt;/p&gt;
&lt;p&gt;Suponiendo que el contenido del archivo FooBar.java es el siguiente&amp;hellip; ¿Qué saldrá por pantalla al ejecutar la clase FooBar?&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
import static java.lang.System.*;
public class FooBar {
  public FooBar() {
    out.print(&amp;#34; Instance &amp;#34;);
  }
  static {
    out.print(&amp;#34; Static &amp;#34;);
  }
  public static void main (String args) {
    out.print(&amp;#34; Main &amp;#34;);
    new FooBar();
  }
}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Main Static Instance&lt;/li&gt;
&lt;li&gt;Instance Static Main&lt;/li&gt;
&lt;li&gt;Static Main Instance&lt;/li&gt;
&lt;li&gt;Main Instance&lt;/li&gt;
&lt;li&gt;No compilará&lt;/li&gt;
&lt;li&gt;No se ejecutará&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hagan sus apuestas&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Complicado</title>
      <link>https://capitangolo.net/blog/complicado/</link>
      <pubDate>Tue, 03 Jun 2008 22:23:20 +0000</pubDate>
      <guid>https://capitangolo.net/blog/complicado/</guid>
      <description>&lt;p&gt;Se entiende que algo es &lt;a href=&#34;http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&amp;amp;LEMA=complicado&#34;&gt;complicado&lt;/a&gt; cuando no somos capaces de asimilar su concepto.&lt;/p&gt;
&lt;p&gt;Lo que es complicado para unos, no lo es para otros. La madre de &lt;a href=&#34;http://www.eckelon.net&#34;&gt;eckelon&lt;/a&gt; no reemplazará Access por MySQL porque es muy complicado.&lt;/p&gt;
&lt;p&gt;Hay otro concepto es el de inapropiado, cuando algo no se adecua a lo que necesitamos. Por ejemplo, cuando intentamos clavar un tornillo con un nivel. Yo no usaré Access en mis proyectos porque es inapropiado.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Destapando las Vergüenzas</title>
      <link>https://capitangolo.net/blog/destapando-las-verguenzas/</link>
      <pubDate>Thu, 22 May 2008 20:39:46 +0000</pubDate>
      <guid>https://capitangolo.net/blog/destapando-las-verguenzas/</guid>
      <description>&lt;p&gt;Uno de los mayores mitos mientras aprendes a programar es que los elementos privados son inaccesibles, y por ello seguros. Esto es aplicable sólo a lenguajes orientados a objetos con elementos privados, como java.&lt;/p&gt;
&lt;p&gt;Así ves a una cantidad enorme de aspirantes a programador que gastan la mitad del tiempo pensando cómo hacer un código blindado frente ataques. Aunque ninguno sabe de qué ataques se defiende, o qué implicaciones tiene privatizar o publicar algo.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
