Skip to content

Commit 832ddda

Browse files
author
martipatgra
committed
Deployed 6b64ee4 with MkDocs version: 1.4.2
1 parent f5268e5 commit 832ddda

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

sitemap.xml.gz

0 Bytes
Binary file not shown.

ud3/8pojo/index.html

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2511,15 +2511,24 @@ <h4 id="constructor-personalizado">Constructor personalizado</h4>
25112511
<h4 id="compact-constructor">Compact constructor</h4>
25122512
<ul>
25132513
<li>No se pueden tener ambos constructores, el compact más el canónico explícito.</li>
2514-
<li>El compact constructor se declara sin paréntesis y sin parámetros o argumentos.</li>
2514+
<li><strong>El compact constructor se declara sin paréntesis y sin parámetros o argumentos.</strong></li>
25152515
<li>Tiene acceso a todos los argumentos o parámetros del constructor canónico, no confundir con los campos de la clase o variables de instancia de la clase.</li>
25162516
<li>No se pueden hacer asignaciones a los campos de instancia de la clase en este constructor.</li>
25172517
<li>Todas las asignaciones implícitas del constructor canónico ocurren después de la ejecución del código del constructor compacto.</li>
25182518
</ul>
2519+
<p>Este constructor está entrelazado con el constructor canónico. El código que se inserte en este constructor será llamado antes que el código en el constructor implícito(canónico), es decir, antes de asignar cualquier valor a las variables de isntancia finales. Por eso este constructor tiene acceso a todos los argumentos o componentes del constructor canónico. Este constructor se utiliza para realizar validaciones en los argumentos o componentes antes de asignarlos a las variables de instancia de la clase.</p>
2520+
<div class="admonition warning importante">
2521+
<p class="admonition-title">Warning</p>
2522+
<p>Si se ha definido un constructor compacto, no se puede crear o definir explícitamente el constructor canónico.</p>
2523+
</div>
25192524
<p>Ejemplo:</p>
25202525
<div class="highlight"><pre><span></span><code><span class="w"> </span><span class="c1">//Compact constructor</span>
25212526
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="n">JavaStudent</span><span class="w"> </span><span class="p">{</span>
25222527
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">id</span><span class="p">.</span><span class="na">isEmpty</span><span class="p">())</span><span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="o">=</span><span class="s">&quot;Unknown&quot;</span><span class="p">;</span>
2528+
<span class="w"> </span><span class="c1">//id = this.id; //NO podría hacer esto, porque this.id todavía no se ha inicializado</span>
2529+
<span class="w"> </span><span class="c1">//this.id = id; //TAMPOCO podría hacer esto porque se hará más tarde en el constructor</span>
2530+
<span class="w"> </span><span class="c1">//implícito (canónico), y como las variables de instancia son finales, no </span>
2531+
<span class="w"> </span><span class="c1">//puedo reasignarles valores.</span>
25232532
<span class="w"> </span><span class="p">}</span>
25242533
</code></pre></div>
25252534
<h3 id="campos-estaticos-y-metodos-estaticos">Campos estáticos y métodos estáticos</h3>
@@ -2539,6 +2548,11 @@ <h3 id="campos-estaticos-y-metodos-estaticos">Campos estáticos y métodos está
25392548
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">printWheels</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
25402549
<span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="n">wheels</span><span class="p">);</span>
25412550
<span class="w"> </span><span class="p">}</span>
2551+
2552+
<span class="w"> </span><span class="c1">//también podemos tener métodos de instancia</span>
2553+
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">double</span><span class="w"> </span><span class="nf">calculate</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
2554+
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mf">9.99</span><span class="p">;</span>
2555+
<span class="w"> </span><span class="p">}</span>
25422556
<span class="p">}</span>
25432557
</code></pre></div>
25442558
<h3 id="record-immutable">Record immutable</h3>

0 commit comments

Comments
 (0)