Começar a usar Java é muito mais simples do que eu pensava. Até agora, já tenho uma compreensão da estrutura sintática básica do Java. Mas eu sei que o estudo aprofundado de qualquer linguagem requer acúmulo de tempo e prática.
Applet é um código escrito em Java que pode ser executado no lado do navegador. Por exemplo, o programa C começa a ser executado a partir do programa main(), enquanto o Applet é mais complicado, não sei exatamente o quão complicado é, mas irei entendê-lo aos poucos. Uma propriedade importante do Applet é que posso passar valores em HTML como parâmetros para o Applet (obter o valor do parâmetro através de getParameter()). , mas apenas modifique os valores dos parâmetros HTML. Como o código HTML também pode ser gerado dinamicamente, posso controlar os efeitos dinâmicos da página da web como desejar.
Existem três métodos principais no ciclo de vida do miniaplicativo: init, start e stop.
init(): Responsável pela inicialização do Applet. Este método é executado apenas uma vez durante todo o ciclo de vida do Applet. É o mesmo que o evento OnCreate() no Delphi
start(): Após o sistema chamar init(). ele chamará start() automaticamente, e cada vez que a janela atual for reativada, este método será chamado, que é semelhante ao evento OnShow() no Delphi.
stop(): Este método é chamado após o usuário sair da página onde o Applet está localizado. Permite interromper o funcionamento de alguns recursos quando o usuário não está prestando atenção ao Applet para não afetar a eficiência operacional do sistema. E não precisamos remover artificialmente este método. Este método é semelhante ao OnClose(). evento em Delfos.
A seguir está o nome do arquivo de uma versão Applet do HelloWorld
: HelloWorld.java
import java.applet.Applet;
importar java.awt.Graphics;
classe pública HelloWorld estende o miniaplicativo
{
Título da sequência;
inicialização pública void(){
título="Olá mundo";
}
pintura vazia pública (gráficos g)
{
g.drawString(título, 50, 20);
}
}
Podemos ver que não há função principal no programa, então como ele é executado. Como o Applet é executado no ambiente do navegador, precisamos chamá-lo no arquivo HTML. As tags relevantes que precisam ser usadas são <. Tag Applet>, primeiro criamos o arquivo HTML test.htm, o código fonte é o seguinte:
<html>
<corpo>
Aí vem meu primeiro miniaplicativo:
<br>
<código do miniaplicativo=HelloWorld.class largura=650 altura=500>
</applet>
</APPLET>
</body>
</html>
Coloque este arquivo no mesmo diretório que HelloWorld.java, compile HelloWorld.java, clique em test.htm para abri-lo diretamente e você poderá ver que o programa Applet foi iniciado ou use o comando AppletViewer AppletViewer test. htm Você também pode executar o miniaplicativo diretamente sem um navegador.
O programa a seguir pode nos ajudar a entender melhor como o Java Applet chama os métodos que apresentamos acima ao longo de seu ciclo de vida.
Nome do arquivo: StartStop.java
import java.awt.*;
importar java.applet.*;
classe pública StartStop estende Applet
{
Mensagem StringBuffer;
inicialização pública nula()
{
mensagem=new StringBuffer("Inicialização concluída...");
}
início vazio público()
{
mensagem.append("Iniciado...");
}
parada pública nula()
{
mensagem.append("Parado...");
}
pintura vazia pública (Gráficos g)
{
g.drawString(message.toString(), 150, 50);
}
}
O método de operação é o mesmo acima (para este programa, consulte o <Tutorial Java Concise> da Indústria de Máquinas)
Ao contrário da linguagem C, é muito mais fácil implementar GUI usando Java. Por ser uma linguagem puramente orientada a objetos, o AWT do Java fornece vários elementos de interface para chamarmos, assim como os componentes do Delphi. A seguir está uma tabela de comparação de objetos GUI em Java e componentes correspondentes em Delphi.
Java Delphi
Botão TButton
Tela TCanvas
Caixa de seleção TCheckbox
CheckboxGroup TRadioGroup
Escolha TComboBox
Etiqueta TLabel
TextField T
TextArea TMemo
No entanto, JDK não é uma ferramenta de desenvolvimento visual RAD (rapid application development). O uso de objetos não pode ser feito apenas arrastando e deslocando como Delphi, mas exige que escrevamos o código de chamada. fazer os elementos colocados na interface de acordo com meus requisitos? Quando não há muitos elementos, posso deixar o Java fazer o layout automaticamente (Layout). aplicativo, você precisa usar um painel (Panel). O painel também possui componentes correspondentes (TPanel) no Delphi, mas é usado principalmente para segmentar a interface e fazer um layout aproximado. Java, só pode ser usado o painel é usado para posicioná-lo, o que é uma falha. Talvez eu ainda não tenha aprendido.
Depois de começar, é hora de mergulhar no conceito de objetos.
Suponha que um tipo de dados personalizado chamado Date seja criado em Java da seguinte maneira
data da aula pública{
dia interno;
mês interno;
ano interno;
}
Portanto, para as três instruções a seguir que declaram variáveis, há alguma diferença quando Java aloca memória para elas?
(1) int i;
(2) Data do meu nascimento;
(3) Date mybirth=new Date();
Obviamente existe, e a alocação é a seguinte:
(1) Java aloca automaticamente a memória de uma variável inteira para o inteiro i, geralmente dois bytes
(2) Java declara uma classe Date A variável de instância mybirth é alocada com espaço de armazenamento, mas o que está armazenado neste espaço de armazenamento é apenas uma referência ou um endereço. Não há nada no endereço atual, portanto não podemos usar esta variável de instância ou referenciá-la.
(3) Java cria uma variável de instância mybirth da classe Date, aloca espaço de armazenamento suficiente para suas variáveis membro e, finalmente, retorna uma referência a esse espaço de armazenamento, ou seja, retorna o primeiro endereço desse espaço de armazenamento e depois passa mybirth , ou seja, este primeiro endereço é usado para acessar cada membro desta variável de instância, como meunascimento.dia, meunascimento.mês, meunascimento.ano.
Quando declaramos uma variável de um tipo de dados básico (como boolean, byte, short, char, int, long, flat, double), o sistema alocará automaticamente memória para a variável. Mas se String ou variáveis definidas pelo usuário forem declaradas, o sistema não alocará memória para elas imediatamente. Por que isso
ocorre porque tanto String quanto variáveis definidas pelo usuário pertencem à categoria de classes A declaradas como uma variável. não é mais um dado, mas uma referência aos dados. Ou seja, mybirth pode ser considerado um ponteiro para uma instância da classe e o endereço é armazenado nele.
Indo mais fundo, como o valor da variável de instância de uma classe é um ponteiro, e esse ponteiro aponta para uma instância de uma classe, então podemos obviamente definir variáveis de instância de múltiplas classes com nomes diferentes e apontá-las todas para uma instância. Por exemplo:
University u=new University();//Uma variável de instância u da classe University é definida e o espaço de armazenamento do objeto é alocado para ela
University u2=u;//Uma variável de instância u2 também é definida. , e o valor de u é atribuído a ele u2
, então obviamente u2 e u são na verdade a mesma coisa,
exceto por seus nomes diferentes, porque apontam para o mesmo endereço.
Essas estruturas de dados são o que um programador precisa saber.