亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? java2.htm

?? E-books about Java Programing in Spanish
?? HTM
字號:
<HTML>
<HEAD>
<TITLE>Java desde Cero</TITLE>

<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.0z">
</HEAD>
<BODY background=1.gif  TEXT=000000 LINK=FF0000 VLINK=A62A2A>
<H1>Las clases en Java</H1>
<P>
Bueno, antes que nada conviene saber que en Java hay un mont&oacute;n
de clases ya definidas y utilizables.
<P>
&Eacute;stas vienen en las bibliotecas est&aacute;ndar:
<UL>
<LI>java.lang  - clases esenciales, n&uacute;meros, strings, objetos,
compilador, runtime, seguridad y threads (es el &uacute;nico paquete
que se incluye autom&aacute;ticamente en todo programa Java)
<LI>java.io  - clases que manejan entradas y salidas
<LI>java.util  - clases &uacute;tiles, como estructuras gen&eacute;ricas,
manejo de fecha, hora y strings, n&uacute;mero aleatorios, etc.
<LI>java.net - clases para soportar redes: URL, TCP, UDP, IP,
etc.
<LI>java.awt - clases para manejo de interface gr&aacute;fica,
ventanas, etc.
<LI>java.awt.image - clases para manejo de im&aacute;genes
<LI>java.awt.peer - clases que conectan la interface gr&aacute;fica
a implementaciones dependientes de la plataforma (motif, windows)
<LI>java.applet - clases para la creaci&oacute;n de applets y
recursos para reproducci&oacute;n de audio.
</UL>
<P>
Para que se den una idea, los n&uacute;meros enteros, por ejemplo,
son &quot;instancias&quot; de una clase no redefinible, <I>Integer</I>,
que desciende de la clase <I>Number</I> e implementa los siguientes
atributos y m&eacute;todos:
<PRE>
<FONT SIZE=2>public  final  class  java.lang.Integer extends  java.lang.Number {
        // Atributos
    public final static int MAX_VALUE;
    public final static int MIN_VALUE;
        // M&eacute;todos Constructores
    public Integer(int  value);
    public Integer(String  s);
        // M&aacute;s M&eacute;todos
    public double doubleValue();
    public boolean equals(Object  obj);
    public float floatValue();
    public static Integer getInteger(String  nm);
    public static Integer getInteger(String  nm, int  val);	
    public static Integer getInteger(String  nm, Integer  val);
    public int hashCode();
    public int intValue();
    public long longValue();
    public static int parseInt(String  s);
    public static int parseInt(String  s, int  radix);
    public static String toBinaryString(int  i);
    public static String toHexString(int  i);
    public static String toOctalString(int  i);
    public String toString();
    public static String toString(int  i);
    public static String  toString(int  i, int  radix);
    public static Integer valueOf(String  s);
    public static Integer valueOf(String  s, int  radix);
}</FONT>
</PRE>
<P>
Mucho, no?
<P>
Esto tambi&eacute;n nos da algunas ideas:
<UL>
<LI>la estructura de una clase
<LI>caramba, hay m&eacute;todos repetidos!
</UL>
<P>
De la estructura enseguida hablaremos; en cuanto a los m&eacute;todos
repetidos (como <I>parseInt</I> por ejemplo), al llamarse al m&eacute;todo
el compilador decide cu&aacute;l de las implementaciones del mismo
usar bas&aacute;ndose en la cantidad y tipo de par&aacute;metros
que le pasamos. Por ejemplo, parseInt(&quot;134&quot;) y parseInt(&quot;134&quot;,16),
al compilarse, generar&aacute;n llamados a dos m&eacute;todos
distintos.
<H2>Estructura de una clase</H2>
<P>
Una clase consiste en:
<PRE>
<FONT SIZE=2>algunas_palabras <B>class</B> <B>nombre_de_la_clase</B> [algo_m&aacute;s] <B>{
</B>	[lista_de_atributos]
	[lista_de_m&eacute;todos]
<B>}</B></FONT>
</PRE>
<P>
Lo que est&aacute; entre [ y ] es opcional&#133;
<P>
Ya veremos qu&eacute; poner en &quot;algunas_palabras&quot; y
&quot;algo_m&aacute;s&quot;, por ahora sigamos un poco m&aacute;s.
<P>
La lista de atributos (nuestras viejas variables locales) sigue
el mismo formato de C: se define primero el tipo y luego el nombre
del atributo, y finalmente el &quot;;&quot;.
<P>
<FONT FACE="Arial">public final static <B>int MAX_VALUE</B></FONT>
<P>
<FONT FACE="Arial">;</FONT>
<P>
Tambi&eacute;n tenemos &quot;algunas_palabras&quot; adelante,
pero en seguida las analizaremos.
<P>
En cuanto a los m&eacute;todos, tambi&eacute;n siguen la sintaxis
del C; un ejemplo:
<PRE>
<FONT SIZE=2>public int <B>incContador() {</B>	// declaraci&oacute;n y apertura de {
    cnt++;			// instrucciones, separadas por &quot;;&quot;
    return(cnt);
<B>}</B>				// cierre de }</FONT>
</PRE>
<P>
Finalmente, se aceptan comentarios entre /* y */, como en C, o
bien usando // al principio del comentario (el comentario termina
al final de la l&iacute;nea).
<P>
Veamos un ejemplo:
<PRE WIDTH=132>
<FONT SIZE=2>// Implementaci&oacute;n de un contador sencillo
// GRABAR EN UN ARCHIVO	&quot;Contador.java&quot; 	(OJO CON LAS MAYUSCULAS!)
// COMPILAR CON:		&quot;javac Contador.java&quot;	(NO OLVIDAR EL .java!)
// ESTA CLASE NO ES UNA APLICACION, pero nos va a servir enseguida

public class Contador {			// Se define la clase Contador

  // Atributos
  int cnt;					// Un entero para guardar el valor actual

  // Constructor				// Un m&eacute;todo constructor&#133;
  public Contador() {			// &#133;lleva el mismo nombre que la clase
    cnt = 0;				// Simplemente, inicializa (1)
  }

  // M&eacute;todos
  public int incCuenta() {			// Un m&eacute;todo para incrementar el contador
    cnt++;				// incrementa cnt
    return cnt;				// y de paso devuelve el nuevo valor
  }
  public int getCuenta() {		// Este s&oacute;lo devuelve el valor actual
    return cnt;				// del contador
  }  
}</FONT>
</PRE>
<P>
Cuando, desde una aplicaci&oacute;n u otro objeto, se crea una
<B>instancia</B> de la clase <B>Contador</B>, mediante la instrucci&oacute;n:
<P>
<FONT FACE="Arial">new Contador()</FONT>
<P>
el compilador busca un m&eacute;todo con el mismo nombre de la
clase y que se corresponda con la llamada en cuanto al tipo y
n&uacute;mero de par&aacute;metros. Dicho m&eacute;todo se llama
Constructor, y una clase puede tener m&aacute;s de un constructor
(no as&iacute; un objeto o instancia, ya que una vez que fue creado
no puede recrearse sobre s&iacute; mismo).
<P>
En tiempo de ejecuci&oacute;n, al encontrar dicha instrucci&oacute;n,
el int&eacute;rprete reserva espacio para el objeto/instancia,
crea su estructura y llama al constructor.
<P>
O sea que el efecto de <FONT FACE="Arial">new Contador()</FONT>
es, precisamente, reservar espacio para el contador e inicializarlo
en cero.
<P>
En cuanto a los otros m&eacute;todos, se pueden llamar desde otros
objetos (lo que incluye a las aplicaciones) del mismo modo que
se llama una funci&oacute;n desde C.
<P>
Por ejemplo, usemos nuestro contador en un programa bien sencillo
que nos muestre c&oacute;mo evoluciona:
<PRE WIDTH=132>
<FONT SIZE=2>// Usemos nuestro contador en una mini-aplicaci&oacute;n
// GRABAR EN UN ARCHIVO	&quot;Ejemplo1.java&quot; 	(OJO CON LAS MAYUSCULAS!)
// COMPILAR CON:		&quot;javac Ejemplo.java&quot;	(NO OLVIDAR EL .java!)
// EJECUTAR CON:		&quot;java Ejemplo1&quot;		(SIN el .java)

import java.io.*;				// Uso la biblioteca de entradas/salidas

public class Ejemplo1 {			// IMPORTANTE: Nombre de la clase
					// igual al nombre del archivo!
  // entero para asignarle el valor del contador e imprimirlo
  // aunque en realidad no me hace falta.
  static int n;
  // y una variable tipo Contador para instanciar el objeto&#133;
  static Contador laCuenta;

  // ESTE METODO, MAIN, ES EL QUE HACE QUE ESTO SE COMPORTE
  // COMO APLICACION. Es donde arranca el programa cuando ejecuto &quot;java Ejemplo1&quot;
  // NOTA: main debe ser public &amp; static.
  public static void main ( String args[] ) {
    System.out.println (&quot;Cuenta&#133; &quot;);		// Imprimo el t&iacute;tulo
    laCuenta = new Contador();			// Creo una instancia del Contador
    System.out.println (laCuenta.getCuenta());	// 0 - Imprimo el valor actual (cero!)
    n = laCuenta.incCuenta();			// 1 - Asignaci&oacute;n e incremento
    System.out.println (n);			// Ahora imprimo n
    laCuenta.incCuenta();			// 2 - Lo incremento (no uso el valor&#133;
    System.out.println (laCuenta.getCuenta());	// &#133;de retorno) y lo imprimo
    System.out.println (laCuenta.incCuenta());	// 3 - Ahora todo en un paso!
  }
}</FONT>
</PRE>
<P>
En el cap&iacute;tulo III vamos a analizar este programa en detalle.
Por ahora veamos la diferencia con un applet que haga lo mismo:
<BR>
<PRE WIDTH=132>
<FONT SIZE=2>	// Applet de acci&oacute;n similar a la aplicaci&oacute;n Ejemplo1
	// GRABAR EN ARCHIVO:	&quot;Ejemplo2.java&quot;
	// COMPILAR CON:		&quot;javac Ejemplo2.java&quot;
	// PARA EJECUTAR:	Crear una p&aacute;gina HTML como se indica luego
import java.applet.*;
import java.awt.*;

public class Ejemplo2 extends Applet {
  static int n;
  static Contador laCuenta;

  // Constructor&#133;
  public Ejemplo2 () {
    laCuenta = new Contador();
  }

  // El m&eacute;todo paint se ejecuta cada vez que hay que redibujar
  // NOTAR EL EFECTO DE ESTO CUANDO SE CAMBIA DE TAMA&Ntilde;O LA
  // VENTANA DEL NAVEGADOR!
  public void paint (Graphics g) {
    g.drawString (&quot;Cuenta...&quot;, 20, 20);
    g.drawString (String.valueOf(laCuenta.getCuenta()), 20, 35 );
    n = laCuenta.incCuenta();
    g.drawString (String.valueOf(n), 20, 50 );
    laCuenta.incCuenta();
    g.drawString (String.valueOf(laCuenta.getCuenta()), 20, 65 );
    g.drawString (String.valueOf(laCuenta.incCuenta()), 20, 80 );
  }
}<BR>
</FONT>
</PRE>
<P>
Ahora es necesario crear una p&aacute;gina HTML para poder visualizarlo.
Para esto, crear y luego cargar el archivo ejemplo2.htm con un
browser que soporte Java (o bien ejecutar en la ventana DOS: &quot;appletviewer
ejemplo2.htm&quot;):
<PRE WIDTH=132>
<FONT SIZE=2>&lt;HTML&gt;
&lt;HEAD&gt;
&lt;TITLE&gt;Ejemplo 2 - Applet Contador&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;applet code=&quot;Ejemplo2.class&quot; width=170 height=150&gt;
&lt;/applet&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;<BR>
</FONT>
</PRE>
<P>
Para terminar este cap&iacute;tulo, observemos las diferencias
entre la aplicaci&oacute;n standalone y el applet:
<UL>
<LI>La aplicaci&oacute;n usa un m&eacute;todo main, desde donde
arranca
<LI>El applet, en cambio, se arranca desde un constructor (m&eacute;todo
con el mismo nombre que la clase)
</UL>
<P>
Adem&aacute;s:
<UL>
<LI>En la aplicaci&oacute;n utilizamos System.out.println para
imprimir en la salida est&aacute;ndar
<LI>En el applet necesitamos &quot;dibujar&quot; el texto sobre
un fondo gr&aacute;fico, por lo que usamos el m&eacute;todo g.drawString
dentro del m&eacute;todo paint (que es llamado cada vez que es
necesario redibujar el applet)
</UL>
<P>
Con poco trabajo se pueden combinar ambos casos en un solo objeto,
de modo que <B>la misma</B> clase sirva para utilizarla de las
dos maneras:<BR>
<PRE WIDTH=132>
<FONT SIZE=2>// Archivo:  Ejemplo3.java
// Compilar con: javac Ejemplo3.java
import java.applet.*;
import java.awt.*;
import java.io.*;

public class Ejemplo3 extends Applet {
  static int n;
  static Contador laCuenta;

  public Ejemplo3 () {
    laCuenta = new Contador();
  }

  public static void main(String args[]) {
    laCuenta = new Contador();
    paint();
  }

  public static void paint () {
    System.out.println (&quot;Cuenta...&quot;);
    System.out.println (laCuenta.getCuenta());
    n = laCuenta.incCuenta();
    System.out.println (n);
    laCuenta.incCuenta();
    System.out.println (laCuenta.getCuenta());
    System.out.println (laCuenta.incCuenta());
  }
  public void paint (Graphics g) {
    g.drawString (&quot;Cuenta...&quot;, 20, 20);
    g.drawString (String.valueOf(laCuenta.getCuenta()), 20, 35 );
    n = laCuenta.incCuenta();
    g.drawString (String.valueOf(n), 20, 50 );
    laCuenta.incCuenta();
    g.drawString (String.valueOf(laCuenta.getCuenta()), 20, 65 );
    g.drawString (String.valueOf(laCuenta.incCuenta()), 20, 80 );
  }
}</FONT>
</PRE>
<P>
Esta clase puede ejecutarse tanto con &quot;java Ejemplo3&quot;
en una ventana DOS, como cargarse desde una p&aacute;gina HTML
con:
<PRE WIDTH=132>
<FONT SIZE=2>&lt;applet code=&quot;Ejemplo3.class&quot; width=170 height=150&gt;
&lt;/applet&gt;</FONT>
</PRE>
<P>
Notar que conviene probar el applet con el appletviewer (&quot;appletviewer
ejemplo3.htm&quot;), ya que &eacute;ste indica en la ventana DOS
si hay alg&uacute;n error durante la ejecuci&oacute;n. Los browsers
dejan pasar muchos errores, simplemente suprimiendo la salida
a pantalla del c&oacute;digo err&oacute;neo.
<P>
Notar que en todo este desarrollo de las clases Ejemplo1, Ejemplo2
y Ejemplo3, en ning&uacute;n momento volvimos a tocar la clase
Contador!
<P>
En el pr&oacute;ximo cap&iacute;tulo analizaremos el c&oacute;digo
l&iacute;nea por l&iacute;nea para ir comprendiendo los distintos
elementos que all&iacute; aparecen.
<P>
<HR>
Jorge Bourdette
<P>
<A HREF="mailto:jpb@amarillas.com">jpb@amarillas.com</A>
</BODY>
</HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人性视频网站| 成人午夜视频在线| 欧美不卡一区二区三区四区| 国产精品日日摸夜夜摸av| 久久爱www久久做| 在线不卡一区二区| 亚洲综合在线五月| 一本色道久久加勒比精品| 国产精品美女久久福利网站 | 韩国一区二区视频| 日韩免费观看2025年上映的电影| 日韩精品成人一区二区三区| 欧美日韩一区二区在线观看| 亚洲一区二区三区自拍| 久久久99免费| 国产一区二区精品久久| 久久精品久久久精品美女| 欧美午夜在线观看| 日韩精品中午字幕| 亚洲免费看黄网站| 日韩在线a电影| 91成人国产精品| 色综合天天性综合| 久久久亚洲欧洲日产国码αv| 亚洲国产成人porn| 日韩色在线观看| 国产宾馆实践打屁股91| 亚洲黄色录像片| 91精品国产高清一区二区三区蜜臀 | 国产在线播精品第三| 日韩在线卡一卡二| 亚洲va国产天堂va久久en| 欧美一区二区三区爱爱| 欧美亚日韩国产aⅴ精品中极品| av综合在线播放| 亚洲bdsm女犯bdsm网站| 亚洲综合免费观看高清完整版| 中文字幕一区二区三中文字幕| 在线观看成人免费视频| 精品在线播放午夜| 亚洲精品国产第一综合99久久| 国产精品久久久久aaaa樱花| 在线播放/欧美激情| 成人动漫一区二区在线| a4yy欧美一区二区三区| 国产精品99久久久久久宅男| 亚洲精品国产一区二区精华液| 亚洲三级久久久| 久久久www成人免费毛片麻豆| 久久嫩草精品久久久精品一| 久久久久久久久久久久电影 | 丁香婷婷综合色啪| 成人动漫在线一区| 一本大道av伊人久久综合| 日本乱人伦aⅴ精品| 欧美四级电影网| 7777精品伊人久久久大香线蕉| 538prom精品视频线放| 欧美成人女星排行榜| 26uuu国产在线精品一区二区| 91成人在线观看喷潮| 欧美性受xxxx黑人xyx| 日韩欧美成人激情| 国产欧美日韩亚州综合| 欧美大肚乱孕交hd孕妇| 久久噜噜亚洲综合| 最新国产の精品合集bt伙计| 一区二区三区中文在线观看| 午夜国产精品一区| 亚洲女同ⅹxx女同tv| 亚洲成人综合网站| 九九九久久久精品| 成人在线一区二区三区| 日本韩国一区二区三区| 日韩欧美一区在线观看| 欧美国产1区2区| 久久久蜜臀国产一区二区| 国产精品久久久久久久久免费樱桃| 亚洲精品国产第一综合99久久| 日韩avvvv在线播放| 亚洲最新视频在线播放| 捆绑调教美女网站视频一区| 成人午夜在线视频| 欧美色爱综合网| 久久久另类综合| 亚洲一区二区三区四区在线观看 | 99久久免费精品| 丁香婷婷综合网| 欧美日韩国产一区二区三区地区| 欧洲一区二区三区在线| 欧美一级搡bbbb搡bbbb| 亚洲色图欧洲色图| 久久精品国产一区二区三区免费看| 成人美女视频在线观看18| 欧美一卡2卡3卡4卡| 国产精品久久久久影视| 免费观看一级特黄欧美大片| 另类小说综合欧美亚洲| 91美女在线观看| 欧美视频在线一区二区三区| 国产日韩精品一区二区三区| 亚洲国产精品久久人人爱 | 91在线视频官网| 久久蜜桃香蕉精品一区二区三区| 亚洲色图一区二区三区| 国内久久婷婷综合| 精品污污网站免费看| 中文字幕一区二区三区不卡在线 | 国产精品一区二区视频| 在线播放中文一区| 亚洲人成网站影音先锋播放| 国产精品视频看| 色噜噜狠狠色综合中国| 精品日韩在线一区| 国产另类ts人妖一区二区| 91捆绑美女网站| 国产女人18毛片水真多成人如厕| 日日夜夜精品视频天天综合网| 99精品欧美一区| 久久精品亚洲一区二区三区浴池| 日本三级亚洲精品| 欧美日韩国产一区| 亚洲一区在线看| av电影在线观看一区| 久久精品亚洲国产奇米99| 老司机精品视频在线| 日韩一级完整毛片| 日本中文字幕一区二区视频| 欧美日韩在线综合| 一区二区三区久久| 日本韩国一区二区三区| 亚洲精品乱码久久久久久日本蜜臀 | 国产精品女同互慰在线看| 国产老妇另类xxxxx| 久久影视一区二区| 国产伦精一区二区三区| 精品久久国产老人久久综合| 麻豆精品视频在线观看视频| 国产经典欧美精品| 欧美日韩卡一卡二| 亚洲一卡二卡三卡四卡 | 91视频国产资源| 一区在线中文字幕| 色狠狠色狠狠综合| 亚洲一区二区三区四区在线免费观看| 欧洲精品视频在线观看| 亚洲综合激情小说| 欧美日韩精品一区二区在线播放| 国产精品一区二区黑丝| 日本aⅴ免费视频一区二区三区| 久久精品视频免费| 欧美电视剧在线看免费| 成人午夜视频福利| 亚洲影院在线观看| 久久精品夜夜夜夜久久| 精品视频一区三区九区| 色一情一伦一子一伦一区| 丁香网亚洲国际| 国产一区二区三区四区五区美女| 一区二区三区在线观看欧美| 亚洲一二三四区| 色94色欧美sute亚洲13| 亚洲一区二区三区精品在线| 精品视频资源站| 精品一区二区三区久久| 久久精品日产第一区二区三区高清版| 国产一区二区毛片| 成人欧美一区二区三区在线播放| 日本乱人伦一区| 麻豆免费精品视频| 国产精品久久久久久久岛一牛影视| 日本久久电影网| 麻豆91精品视频| 国产精品久久二区二区| 欧美图区在线视频| 韩国av一区二区三区| 日韩毛片视频在线看| 欧美日韩国产三级| 国产成人综合亚洲91猫咪| 亚洲精品成人精品456| 日韩欧美一区二区视频| 国产91精品在线观看| 亚洲国产一区二区三区青草影视 | 色爱区综合激月婷婷| 免费观看日韩电影| 一区二区中文视频| 日韩一区二区三区精品视频| 丁香婷婷综合网| 日韩成人av影视| 中文字幕亚洲视频| 日韩一级精品视频在线观看| www.爱久久.com| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲视频一二三| 欧美成人一区二区三区在线观看 | 久久亚洲精精品中文字幕早川悠里 | 欧美视频在线不卡| 成人激情动漫在线观看| 日韩国产成人精品|