Blog: javario

Tabela comparativa Eclipse vs netbeans

Comparação eclipse vs netbeans . Eclipse surgiu nos anos de 1990, o Netbeans nos anos 2000. A adesão de muitas comunidades atuantes nos programas faz mais sentido quando se pensa assim.

Comparação eclipse vs netbeans

Comparação eclipse vs netbeans

O Eclipse está associado com IBM e NetBeans é um ambiente Sun/Oracle. O Eclipse é visto como uma plataforma confiável por desenvolvedores comerciais, que acreditam podem criar seu próprio conjunto de produtos e para os quais os usuários empresariais podem confiar no desenvolvimento de aplicativos internos. Contra o que a NetBeans.org publicou, “Um projeto de código aberto é uma entidade viva que precisa de tempo para encontrar o equilíbrio certo de pessoas e contribuição. Seu crescimento é sempre um processo contínuo.O primeiro ano (através do NetBeans 3.2). Os próximos anos envolveram aprender sobre o que funcionou em termos de processos de código aberto. Nos dois primeiros anos, o processo de desenvolvimento foi tão aberto que mais tempo foi gasto debater do que implementar”.

O Netbeans tem uma interface de usuário e um fluxo de trabalho muito diferentes do Eclipse. Não há perspectivas, mas as barras de ferramentas e tais aparecerão automaticamente/ocultarão conforme necessário pela depuração.

O Netbeans concentra-se em uma experiência suave e integrada às vezes às custas de recursos. O Profiler está totalmente integrado no editor (menu de contexto permite que você manipule rapidamente o perfilador), mas está faltando alguns featuers do perfilers do Eclipse.

O Netbeans possui um ambiente de desenvolvimento JSP/Servlet/JSF fortemente integrado. Todo o fluxo de trabalho conecta-se de desenvolvimento, depuração, implantação. É mais voltado para o Desenvolvimento Web.

O editor do Netbeans tem muito menos recursos que o Eclipse. Complemento rápido (Ctrl-K, Ctrl-J) é um recurso Netbeans subutilizado. As versões básicas do Eclipse e do NetBeans oferecem recursos padrões muito semelhantes que para o iniciante não faz muita diferença.

Pros e Contras Comparação eclipse vs netbeans . Open Source: ambos

Fama: Mais comercial Eclipse, Mais livre Netbeans

Difucldade: Mais fácil Netbeans, mais difícil Eclipse

Plugins Mais plugins Netbeans, muito menos mesmo Eclipse.

Mais usuários: Eclipse

Mais confiável para empresas: Eclipse

Comparação eclipse vs netbeans ,
Comparação eclipse vs netbeans

Tabela comparativa Eclipse vs netbeans

No equivalent support
NetBeans Platform Eclipse RCP
UI Toolkit Standard Swing toolkit SWT
UI Design Free, award winning,Matisse GUI Builder Commercial alternatives
ModuleSystem Standard OSGi modulesystem

or NetBeans-specific module system

Standard OSGi modulesystem
BuildSystem Out of the box, Maven orAnt Proprietary
JDKSupport VisualVM, a NetBeansPlatform application,
is in the JDK, so many JARs from the
NetBeans Platform are in the JDK too
Training Free community-basedtrainings

fornon-commercial organizations

No equivalent support

Java Cloud Service

Java Cloud Service. Implantação fácil, rápida e simples de qualquer aplicativo Java. Experimente o controle total e a flexibilidade de seu aplicativo. O Java Cloud Service é ideal para desenvolvimento, teste, teste de aceitação do usuário, preparação e produção. Crie instantaneamente ambientes WebLogic Server dedicados e isolados (sua opção da versão 11g ou 12c) para executar todo o seu cluster em escala.

Service – SaaS Extension é ideal para estender seus aplicativos Oracle SaaS. Incorpore integralmente novas funcionalidades na IU dos serviços SaaS existentes e crie aplicativos mashup stand-alone usando feeds de dados de serviços Saas ou de fontes externas.

Criado com a finalidade de estender Oracle Services como Sales Cloud, Marketing Cloud, Human Capital Cloud, etc. Totalmente gerenciado pela Oracle para criar uma experiência semelhante a SaaS do início ao fim.

Clonagem, AppToCloud

Com uma clonagem de instância em apenas um clique e os recursos avançados de Lift & Shift do AppToCloud da Oracle, seus aplicativos podem ficar ativos e em funcionamento na nuvem quase instantaneamente.

Cloud Stack

Compartilhe ou reutilize ambientes/serviços existentes como modelos, com a possibilidade de aumentar a capacidade para acomodar uma nova pilha

Modernize Aplicativos Locais

Modernize o processo de desenvolvimento de seus aplicativos Java EE existentes com recursos incorporados de CI/CD.

Opções de Ambiente

Cluster dedicado de WebLogic Server, com opção de escolher a versão para atender às suas necessidades: 11g ou 12c Standard Edition, Enterprise Edition ou Suite. Inclui um balanceador de carga baseado em software com tecnologia Oracle Traffic Director. Inclui opcionalmente o Oracle Coherence para suas necessidades de armazenamento no cache e/ou grade de dados.

Acesso Admin

Inclui um portal de autoatendimento para que você possa administrar seus domínios WebLogic, o armazenamento de máquina virtual e as definições da rede de forma altamente visível e personalizável.

Elasticidade

Expanda ou reduza o cluster de seus aplicativos a qualquer hora, com um único clique ou com uma chamada REST. Aumente a capacidade de seu serviço a qualquer hora.

Alta Disponibilidade

Transfira os mesmos recursos de clusterização do WebLogic que você usa localmente no momento para o Oracle Cloud, e eles serão configurados automaticamente para você.

Integração

Integrado totalmente com outros serviços de gerenciamento da Oracle como: Application Performance Monitoring Cloud Service, Log Analytics Cloud Service e Hybrid Cloud Management, entre outros.

Traga Ambientes de Desenvolvimento e Teste para a Nuvem

Opções de Ambiente

Software WebLogic Server pré-configurado, com opção de versão 11g ou 12c.

Autoatendimento, Provisionamento Rápido

Crie para seus aplicativos, em questão de minutos, um ambiente pronto para produção. Os ambientes vêm pré-configurados com configurações otimizadas de

Ferramentas

banco de dados, gerenciamento de identidades e segurança para entregar um valor instantâneo.

Clonagem

Use seu IDE favorito (Oracle JDeveloper, Eclipse, NetBeans) para desenvolver e implantar aplicativos em sua instância em nuvem. Gerencie e monitore sua instância usando ferramentas avançadas como WebLogic Admin Console, WebLogic Scripting Tool (WLST) e Enterprise Manager Fusion Middleware Control.

AppToCloud

A clonagem com um só clique de sua instância de serviço on-line permite criar, em questão de minutos, um ambiente quase idêntico, perfeito para desenvolvimento e teste de aplicativos.

Pague o quanto usa

Transfira seus ambientes de teste de aplicativos Java EE das suas instalações locais para o Oracle Cloud de forma rápida e completa.

Integração

Só pague pelo que usar. Esse modelo elástico de autoprovisionamento significa que você pode dimensionar seu ambiente rapidamente, de acordo com a demanda, de modo a atender às suas necessidades.

Comparação Netbeans vs Eclipse

O Eclipse ganha na simplicidade, o Netbeans necessita de configuração, apesar de seu editor ser bem limpo e agradável.

Faça sua escolha. Uma comparação entre os dois principais IDEs: NetBeans e Eclipse. Após essa comparação, você terá critérios para escolher qual das duas IDEs é a mais adequada para seu estilo de programação analisando as diferenças fundamentais entre as duas.

O eclipse por sua boa estrutura principalmente quando o assunto é obter e instalar Plugins e Bibliotecas externas, já o Eclipse é excelente para o desenvolvimento Web, possui funções já prontas para web, já para programação Desktop o Netbeans castiga um pouco.

As duas IDEs mais conhecidas e utilizadas para o desenvolvimento de software em Java são o Eclipse e o NetBeans, sendo ótimas opções aos desenvolvedores, que como você, muitas vezes se deparam com a dúvida de qual escolher.

Estes dois ambientes possuem código aberto e são gratuitos.

Podem ser utilizados para o desenvolvimento de aplicações Java

Podem ser utilizados para o desenvolvimento de linguagens como C/C++, php …

Podem ser também executados em diversas plataformas como Windows, Linux…

A IBM fundou o Projeto Eclipse como ferramenta universal open source, uma IDE aberta e extensível. O Netbeans a Oracle que comprou a platafarma java junto com a Netbeans, abriu o software para não ver o negócio afundar mais ainda, agora ele é fre e open.

Programação Java

Programação Java. Java pode ser resumidas em três partes. Uma linguagem de alto nível para desenvolvimento orientado a objetos. Um pré-compilador (gerador de bytecodes) de código fonte. Uma máquina Virtual(JVM) que interpreta o código pré-compilado para uma plataforma específica. Cujas caracteristicas são orientação a objetos, portabilidade, pois o mesmo bytecode pode ser interpretado em qualquer plataforma e grande número de bibliotecas disponibilizadas através da Core API. Ler mais…

Criando apps para iOS e Android em Python com Kivy!

Mais uma ferramenta/biblioteca para criações de aplicações cross-plataform (Windows, Linux, Android, OS X e iOS), só que agora para linguagem Python! 🙂

Se chama Kivy.

O legal dele é que a sua licença é livre e foi feito em cima do OpenGL (ou seja, trabalha melhor com a GPU, tornando alguns efeitos visuais “mais lisos” (sem travamentos)).

Interessou? Então, entre no site:
http://kivy.org/#home

Programação Java é aqui. Acesse as o blog para ficar atualizado sobre o mundo da **Linguagem Java. Dicas, informações e muitos truques para se usar no dia-a-da do **programador java.

Modificadores de Visibilidade Java

Modificadores de Visibilidade Java

private

private. Aplicado à declaração de um método ou variável, o modificador private torna este elemento acessível apenas ao código da classe onde está declarado.

Aplicado à declaração de uma classe ou interface torna esta classe ou interface acessível apenas no escopo da classe onde está declarada.

protected

protected. Aplicado à declaração de um método ou variável de uma classe, torna este elemento acessível apenas às classes que pertencem ao mesmo pacote desta classe, e ao código das classes que herdam desta primeira.

Aplicado à declaração de uma classe ou interface torna esta classe ou interface visível apenas no escopo do pacote onde está declarada.

public

public. Aplicado à declaração de um método, variável, classe ou interface elimina qualquer restrição de visibilidade a este elemento.

Tipos de Dados Primitivos JAVA

Tipos de Dados Primitivos.

boolean

boolean Tipo de dados cujos valores podem ser true ou false.

void

void Tipo de dados vazio. Serve para declarar métodos que não retornam valores.

char

char Caracteres Unicode, com 16 bits.

byte, short, int, long

byte, short, int, long Inteiros com sinal armazenados em formato binário na notação de complemento a dois. Tem tamanho de 8, 16, 32 e 64 bits, respectivamente.

float, double

float, double Numerais em formato de ponto flutuante, padrão IEEE 754-1985, ocupando 32 e 64 bits, respectivamente.

Instalação da IDE Android Studio

Instalação da IDE Android Studio. A configuração do Android Studio pode ser feita com apenas alguns cliques. Para instalar o Android Studio no Windows, faça o seguinte:

Execute o arquivo .exe que você baixou.

Siga o assistente de configuração para instalar o Android Studio e todas as ferramentas do SDK necessárias.

Em alguns sistemas Windows, o script de inicialização não encontrará o local de instalação do JDK. Se ocorrer esse problema, será preciso definir uma variável de ambiente indicando o local correto.

Instalação do Java SE Development Kit (JDK)

Configurar as Variáveis de Ambiente

Instalação da IDE Android Studio

Download https://developer.android.com/sdk/index.html

Instrução https://developer.android.com/sdk/installing/index.html

1 – Instalação do Java SE Development Kit (JDK):

Clique em “Accept License Agreement” e baixe a versão x86 ou x64. -> Java SE Development Kit

2 – Configurar as Variáveis de Ambiente:

No Windows:

Tecle as teclas Windows + R, e em executar digite control e tecle enter.

Siga para Sistema

-> Configurações avançadas do sistema

-> Propriedades do Sistema

-> Avançado

-> Clique em [Variáveis de Ambiente…]

Em – Variáveis de Ambiente – faça as seguintes alterações:

Na área – Variáveis do sistema – nós vamos criar duas variáveis e editar uma.

1 – CLASSPATH -> Indica uma a uma, quais das bibliotecas (.jars) serão utilizadas.

2 – JAVA_HOME -> Indica a pasta (folder) onde o JDK está instalado.

3 – Path -> Variável de ambiente do windows. (É essa que vamos editar, vamos somente adicionar um “;” no final da linha e o caminho da pasta).

Em – Variáveis do sistema – Crie a Primeira variável:

-> Clique em [Novo…]

Nome da Variável: CLASSPATH

Valor da Variável: .;%JAVA_HOME%\lib;

Em – Variáveis do sistema – Crie a Segunda variável:

-> Clique em [Novo…]

Nome da Variável: JAVA_HOME

Valor da Variável: C:\Program Files\Java\jdk1.8.0_51

Atenção perceba que seu JDK vai mudar conforme a versão mais atual, aqui neste caso foi usado o jdk1.8.0_51 com o local C:\Program Files\Java\jdk1.8.0_51, correto?! sim! agora em caso de nova versão basta fazer o download e colocar o local mais atual exemplo: jdk1.8.0_66 com o local C:\Program Files\Java\jdk1.8.0_66 simples só é atualizar o local.

Em – Variáveis do sistema – Edite a Terceira variável (Cuidado! Essa é uma variável de ambiente do windows):

-> Clique na variável “Path” e clique em [Editar…]

Nome da Variável: Path

Valor da Variável: ;%JAVA_HOME%\bin

Veja no exemplo abaixo como deve ficar a sua edição desta terceira variável:

Nome da Variável: Path

Valor da Variável: C:\Program Files (x86)\Qualquer Software\command;%JAVA_HOME%\bin

Veja acima, preste atenção, cole o valor de sua terceira variável “;%JAVA_HOME%\bin” no final da linha mas sem apagar nada antes dela, por que se não, você terá problemas em seu windows.

Depois de tudo feito, é só clicar em ok, ok e reiniciar seu computador…

Desvio e Controle de Fluxo Java

Desvio e Controle de Fluxo

if: Decisão

for, do, while: Laços

break, continue, return: Interrupção de fluxo

switch, case, default: Desvio computado

Tipos de Dados em java

Tipos de Dados em java. Linguagem Java. Pontos importantes:
1 -Tipos da dados em java são divididos em
2 grandes Categorias:
Tipos Primitivos
Tipos Referência(Falaremos no Proximo Post)

2 – Todos os tipos primitivos são considerados Valores Literais

3 – Todos os tipos primitivos armazenam os Bits realmente dos valores

4 – Todos as representações de tipos primitivos são palavras com letras minúsculas pois, todos são Keywords

5 – O operador – = (igual) – em java significa RECEBE.
int x = 0;
O inteiro x RECEBE 0(zero)

LEMBRE DOQUE VIMOS ANTERIORMENTE?

SIGUA ISSO QUE você se dará bem:

Exemplos Java,Linguagem Java, Programação, Java

Esse tipo, será mostrado um deles aqui, que é o tipo PRIMITIVO

Isso é Simplesmente uma passagem de valores, oque estiver a direita do Operador(= igual) é atribuido ao que estiver a esquerda do Operador(= igual):

Exemplos Java,Linguagem Java, Programação, Java

Tipos Primitivos:
(Os valores são armazenados em Bits), como o exemplo acima:
10 Em Decimal = 0000 0000 0000 0000 0000 0000 0000 1010 em Binário

Temos 4 categorias de dados em Tipos Primitivos:
*** Todas as 4 categorias são considerados valores literais, pois armazenam o real valor em bits.

– Tipo Inteiro= byte,short, int,long
– Tipo Ponto-Flutuante = float e double
– Tipo Textual = char
– Tipo Logico = boolean

Inteiro:
Armazenam valores inteiros. Podem ser representados em formatos:
decimais,octais ou hexadecimais:

2 -> Decimal
075 -> o 0 – zero – a esquerda indica que é Octal
0xBA -> o 0x -zero x – a esquerda indica que é Hexadecimal

Tamanho

Nome ou Tipo

Range

8 bits

byte

– 2 ^ 7 ate 2 ^ 7 -1

16 bits

short

– 2 ^ 15 ate 2 ^ 15 -1

32 bits

int

– 2 ^ 31 ate 2 ^ 31 -1

64 bits

long

– 2 ^ 63 ate 2 ^ 63 -1

<p>
  *byte e short forão inventados para preservação de memoria.
</p>

<p>
  Quando eu for usar long:
</p>

<p>
  Quando você especificar um valor e quer que seja long, use a letra L do lado direito do valor, int é default ou seja se não especificar o compilador irá intender como inteiro. O &ldquo;l&rdquo; pode ser maiusculo ou minusculo.
</p>

<p>
  long meuvalor = 20; -> ocorreu Promoção de int para long<br />long meuValor = 20L; -> colocamos um long em uma variavel do tipo long<br />long meuValor = 20l; -> colocamos um long em uma variavel do tipo long
</p>

<p>
  </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/Sp7fh6zh8LI/AAAAAAAAAGk/1Cf-3UsCObA/s1600-h/IntegralValues.png"><img style="cursor: pointer; width: 320px; height: 115px;" src="http://localhost/www/wp0/uploads/IntegralValues.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5376980778941018290" border="0" /></a></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"></p> 

  <p>
    Pontos Flutuantes:<br />Um valor é considerado Ponto Fluantes quando tem a letra(e ou E), ou tiver a letra(f ou F) ou a letra(d ou D):
  </p>

  <p>
    e ou E = expoente<br />f ou F = float<br />d ou D = double
  </p>

  <p>
    Ou quando são usados para armazenar valores decimais.O Default é double, Sempre use ponto(.), É padrão nos USA usar ponto.
  </p>

  <p>
    Exemplos:
  </p>

  <p>
    10.0 &#8211; Um valor de ponto Flutuante, double<br />10.0D &#8211; Um valor de ponto Flutuante, double<br />2.999F &#8211; Um valor de ponto Flutuante, float<br />6.0E25 &#8211; Um valor de ponto Flutuante, double = 60000000000000000000000000.0<br />6.0E25 &#8211; É igual a 6.0E+25
  </p>

  <p>
    </span>
  </p>

  <table style="width: 418px; height: 184px; color: rgb(0, 0, 0);" border="1" cellpadding="4" cellspacing="0">
    <col width="85"> <col width="85"> <col width="85"> <tr valign="top">
      <td style="font-weight: bold;" width="33%">
        <p>
          <span style="color: rgb(0, 0, 0);"><span style="font-family:arial;"><span style="font-size:100%;">Tamanho</span></span></span>
        </p>
      </td>

      <td style="font-weight: bold;" width="33%">
        <p>
          Nome ou Tipo
        </p>
      </td>

      <td style="font-weight: bold;" width="33%">
        <p>
          Range
        </p>
      </td>
    </tr>

    <tr valign="top">
      <td width="33%">
        <p>
          32 bits
        </p>
      </td>

      <td width="33%">
        <p>
          float
        </p>
      </td>

      <td width="33%">
        <p>
          -11.40129846432481707e-45 ate 3.40282346638528860e+38
        </p>
      </td>
    </tr>

    <tr valign="top">
      <td width="33%">
        <p>
          64 bits
        </p>
      </td>

      <td width="33%">
        <p>
          double
        </p>
      </td>

      <td width="33%">
        <p>
          4.94065645841246544e-324d ate<br />1.79769313486231570e+308d
        </p>
      </td>
    </tr>
  </table>

  <p>
    <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><br />Quando eu for declarar um float:<br />Sempre coloque o F do lado direito do valor para espeficar que é um float senão não compila.(F maiusculo ou minusculo da na mesma).<br />Porque do f?<br />float é menor que double logo, um float cabe em um float porem um Double não cabe em um float. É a mesma coisa que cast</p> 

    <p>
      float variable = 0.0F;<br />float variable = (float) 0.0; -> mesma coisa
    </p>

    <p>
      </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sp7fl4HWODI/AAAAAAAAAGs/nbNuVHn-22I/s1600-h/pontosFlutuantesdia.png"><img style="cursor: pointer; width: 320px; height: 182px;" src="http://localhost/www/wp0/uploads/pontosFlutuantesdia.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5376980846938306610" border="0" /></a></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"></p> 

      <p>
        <span style="font-size:130%;"><span style="font-weight: bold;">Textual:</span></span><br />É usado para armazenar um simples caracter inclusive caracteres Unicode não assinados. Todos tem 16 bits(sem Sinal).
      </p>

      <p>
        Para usar char oque eu preciso?<br />Especificar o seu caracter dentro de &ldquo;
      </p>

      <p>
        Um char não armazena a real caracter, mais sim os bits representantes dela.
      </p>

      <p>
        char cacaracter = &rsquo;t&rsquo;;
      </p>

      <p>
        Exemplos:
      </p>

      <p>
        &rsquo;t&rsquo; &#8211; Tabulação
      </p>

      <p>
        <span style="font-weight: bold;font-size:130%;">Logico:</span><br />São aceitos somente valores booleanos(true ou false), um dos dois.
      </p>

      <p>
        boolean meuValor = true;
      </p>

      <p>
        Um Exemplo prático:
      </p>

      <p>
        public class MinhaClasse{ //Esse é um comentario ignorado pelo compilador
      </p>

      <p>
        public static void main(String[] array){<br />int x = 20;
      </p>

      <p>
        }//fim do metodo main
      </p>

      <p>
        }
      </p>

      <p>
        Se você mandar executar isso oque acontece?<br />1 &#8211; Seu programa vira processo<br />2 &#8211; O class Loader da JVM carregará sua classe<br />3 &#8211; Todo processo tem uma thread, toda thread tem uma STACK, Toda Stack tem:<br />&#8211; Operand Stack<br />&#8211; Local Variable<br />&#8211; Uma Referência para Constant POOL<br />A jvm jogará o 20 na Operand Stack<br />4 &#8211; Esse 20 será armazenado nas Local Variable Referente ao método main(Uma coisa que quero deixar claro é que, em Stack damos o Nome de Frame ao métodos quando estão sendo usados.)<br />5 &#8211; Não tem mais codigo no code_block do método main, a JVM termina seu processo.
      </p>

      <p>
        Usando: javap -c Temos em bytecode:
      </p>

      <p>
        Compiled from "MinhaClasse.java&rdquo;<br />public class MinhaClasse extends java.lang.Object{<br />public MinhaClasse();<br />Code:<br />0: aload_0<br />1: invokespecial #1; //Method java/lang/Object.&ldquo;<init>&rdquo;:()V<br />4: return
      </p>

      <p>
        public static void main(java.lang.String[]);<br />Code:<br />0: bipush 20<br />2: istore_1<br />3: return
      </p>

      <p>
        }
      </p>

      <p>
        Agora vamos desenhar:
      </p>

      <p>
        </init></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sp7fqgc8j4I/AAAAAAAAAG0/fZUiO6p3DuY/s1600-h/VariavelLocal.png"><img style="cursor: pointer; width: 262px; height: 320px;" src="http://localhost/www/wp0/uploads/VariavelLocal.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5376980926485794690" border="0" /></a></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><init></p> 

        <p>
          Você empurrou o numero 20 que é do tipo inteiro(ou seja 32 bits), e mandou armazenar em (int x &#8211; que é do tipo inteiro, ou seja 32 bits)  32 bits cabem em 32 bits? SIM! então você obteve:
        </p>

        <p>
          </init></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sp7ftff6J8I/AAAAAAAAAG8/GlWdiIxibFg/s1600-h/VariavelLocal2.png"><img style="cursor: pointer; width: 262px; height: 320px;" src="http://localhost/www/wp0/uploads/VariavelLocal2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5376980977769392066" border="0" /></a></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><init></p> 

          <p>
            Ou isso se fica mais facil:
          </p>

          <p>
            </init></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/Sp7fWg0Ql3I/AAAAAAAAAGM/HcjV7nLbZLk/s1600-h/coube.png"><img style="cursor: pointer; width: 310px; height: 148px;" src="http://localhost/www/wp0/uploads/coube.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5376980582986192754" border="0" /></a></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><init></p> 

            <p>
              Porque se eu fizer int x = 32L; da ERRO?<br />1 &#8211; um int tem 32 bits<br />2 &#8211; 32L é um long, long tem 64 bits
            </p>

            <p>
              Olha oque você fez:
            </p>

            <p>
              </init></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/Sp7fZ0zCjnI/AAAAAAAAAGU/mPpLmfAxLXU/s1600-h/coube2.png"><img style="cursor: pointer; width: 320px; height: 154px;" src="http://localhost/www/wp0/uploads/coube2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5376980639889395314" border="0" /></a></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><init></p> 

              <p>
                Mesmo que fosse:<br />int x = 0.0F;<br />Não daria certo, int tem 32 bits, float tem 32 bits. SO que Pontos Flutuantes trabalham diferente de Integrais, eles usam na verdade mais de um Slot em memoria, mais por representação não fica viavel fazer.
              </p>

              <p>
                <span style="font-size:130%;"><span style="font-weight: bold;">É hora da revisão:</span></span>
              </p>

              <p>
                &#8211; Cuidados com a representação dos formatos dos valores dos TIPOS INTEGRAIS, podem ser em 3 tipos:<br />2 -> Decimal<br />075 -> o 0 &#8211; zero &#8211; a esquerda indica que é Octal<br />0xBA -> o 0x -zero x &#8211; a esquerda indica que é Hexadecimal
              </p>

              <p>
                &#8211; Promoção:
              </p>

              <p>
                long meuvalor = 20; -> ocorreu Promoção de int para long<br />long meuValor = 20L; -> colocamos um long em uma variavel do tipo long<br />long meuValor = 20l; -> colocamos um long em uma variavel do tipo long
              </p>

              <p>
                &#8211; Um valor é considerado Ponto Fluantes quando tem a letra(e ou E), ou tiver a letra(f ou F) ou a letra(d ou D),ou quando são usados para armazenar valores decimais.O Default é double, Sempre use ponto(.), É padrão nos USA usar ponto.
              </p>

              <p>
                &#8211; Sempre que quiser representar um valor do tipo Ponto flutuante float, use o (F ou f), para haver cast, ja que double é default.
              </p>

              <p>
                &#8211; Um char aparentemente apresenta um caracter porem ele é uma representação em bits de um caracter
              </p>

              <p>
                &#8211; Tipos booleanos só aceitam dois tipos de valores, OU true OU false.
              </p>

              <p>
                &#8211; Em Valores do tipo Inteiro, o padrão é int
              </p>

              <p>
                &#8211; Em Valores do tipo Ponto Flutuante, o padrão em double
              </p>

              <p>
                &#8211; O operador igual(=) Significa em java recebe,<br />int a = 8;<br />O Inteiro a RECEBE 8
              </p>

              <p>
                Curiosidades:
              </p>

              <p>
                &mdash;&mdash;->Porque o byte tem o valor elevado a 7 e não a 8?<br />Leva-se em conta que 1 byte são 8 bits, Porem o range de valores de byte é de &#8211; 2 ^ 7 a 2 ^ 7 -1, porque disso?
              </p>

              <p>
                Porque elevado a 7 e não a 8?<br />1 Bit é usado para guardar o sinal(+ ou -), se um Byte tem 8 Bits, e 1 Bit é usado para guardar sinal(+ ou -) só resta 7 Bits para representar um número.
              </p>

              <p>
                Decimal Binário<br />125 1111101(7 Bits)
              </p>

              <p>
                Porem para representar em java isso é precisa do Bit de sinal:<br />01111101 &#8211; 8 Bits = +125<br />11111101 &#8211; 8 Bits = -125
              </p>

              <p>
                Vamos a outro exemplo:
              </p>

              <p>
                Decimal Binário<br />128 10000000(8 Bits)
              </p>

              <p>
                Porem para representar em java isso é precisa do Bit de sinal:<br />010000000 &#8211; 9 Bits = +128<br />110000000 &#8211; 9 Bits = -128
              </p>

              <p>
                PERCEBA QUE 9 BITS JA NÃO FAZ PARTE DO RANGE DE BYTE, portanto esse numero não pode ser um BYTE.
              </p>

              <p>
                Porque -1 do range?<br />Pois o 0 é incluso no range.<br />O Byte tem um range de -2 ^ 7 a 2 ^ 7 -1 significa:<br />&#8211; 125, -124, -123, -122 . &#8211; 2,- 1, 0, +1,+2 +125
              </p>

              <p>
                &mdash;&mdash;->Be Careful!!! Bears Shouldn&rsquo;t Ingest Large Fury Dogs.<br />Source: Head First katty Siera
              </p>

              <p>
                Be = boolean<br />Careful = char<br />Bears = byte<br />Shouldn&rsquo;t = short<br />Ingest = int<br />Large = long<br />Fury = float<br />Dogs = double
              </p>

              <p>
                &mdash;&mdash;->Quer ver como char armazena realmente Bits e usa como conversão para letras?<br />char x = 100;
              </p>

              <p>
                Se você mandar imprimir na saida Padrão sairá: d
              </p>

              <p>
                &mdash;&mdash;-> O tipo char é inteiro literal, outro exemplo disso?
              </p>

              <p>
                int x = &lsquo;c&rsquo;;
              </p>

              <p>
                Se você mandar imprimir na saida Padrão sairá: 99
              </p>

              <p>
                </init></span>
              </p>

Teoria Geral dos Sistemas Paradigmas conceituados Estrutural x Orientação a objetos

Teoria Geral dos Sistemas Paradigmas conceituados Estrutural x Orientação a objetos. Linguagem Java. Conceito Chave sobre a linguagem de programação java:
Advertência: É necessária a leitura do(s) Post(s): Princípios Básicos: Voce Tem que saber!

*Orientada a Objetos:
A linguagem programação java é Orientada a Objetos(Paradigma Orientado a objetos) o principal objetivo da linguagem é a criação de objetos,Pequenos pedaços de código que juntos formam a solução de um problema. Poucos sabem porem O Padradigma Orientado a objetos começou com a linguagem SIMULA-67(Sabe porque se chamala SIMULA? Pois com O.O ela fazia a Simulação da vida REAL), Porem a primeira que realmente entrou no Paradigma foi Smalltalk.

A partir de hoje, você aprenderá não só java, mais a desenhar. Quando dizemos que java é uma linguagem do paradigma Orientado a objetos, estamos dizendo que um CONJUNTO DE OBJETOS FORMAM um programa(Veja isso como um quebra cabeça, onde você pega peça por peça). ISSO é um objeto:

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem se quiser ampliar

E isso é um Programa feito no Paradigma Orientado a Objetos:

Exemplos Java,Linguagem Java, Programação, Java

Clique na imagem se quiser ampliar

Curiosidade:
Orientação a Objetos deriva da BIOLOGIA, de uma forma abstrata tudo é formado por moléculas sistematicamente falando no paradigma Orientação a Objetos tudo é um objeto(componente) o qual a idéia é muito parecida com a de molécula.

– Uma molécula interage com outras através de mensagems
– Quando uma molécula quer afetar outra, dispara um sinal químico que obtem a resposta desejada
– A membrana da cécula receptora filtra as mensagens, atende as que realmente fazem sentido fazendo funções internas.(Isso evita que uma célula precise conhecer oque a outra faz)

Então um conjunto de células forma um corpo físico, um conjunto de Objetos formam um programa.(Da biologia vem conceitos como Herança,Polimorfismo veremos mais sobre isso nas próximas seções.).

Teoria Geral dos Sistemas:
Daqui que surge a idéia de Orientação a Objetos

A Teoria Geral dos Sistemas foi elaborada, em 1937, por Ludwig Von Bertalanffy, para preencher uma lacuna na pesquisa e na teoria da Biologia. Os seus primeiros enunciados são de 1925 e ela é amplamente reconhecida na administração da década de 60.
Da definição de Bertalanffy , segundo a qual o sistema é um conjunto de unidades reciprocamente relacionadas , decorrem dois conceitos : o de propósito ( ou objeto ) e o de globalismo ( ou totalidade ) . Esses dois conceitos retratam duas características básicas em um sistema .

*** O conceito de elementos(Componentes) é o mesmo de OBJETOS EM JAVA

Um sistema é :

– Um conjunto de elementos
– Dinamicamente relacionados
– Formando uma atividade
– Para atingir um objetivo
– Operando sobre dados / energia / matéria
– Para fornecer informação / energia / matéria

O nivel de Abstração de um Sistema é importante:
As moléculas existem dentro das células , as células dentro dos tecidos , os tecidos dentro dos órgãos , os órgãos dentro dos organismos , os organismos dentro de colônias , as colônias dentro de culturas nutrientes , as culturas nutrientes dentro de conjuntos maiores de culturas , e assim por diante .

– Um Sistema pode ser Formado de moléculas(Olhando por um nivel mais baixo de abstração)
– Um Sistema pode ser Formado por células(Subindo um pouco mais o nivel de abstração)
– Um Sistema pode ser Formado por tecidos(Subindo ainda mais um pouco o nivel de abstração)

BIBLIOGRAFIA

Além das já citadas no trabalho: www.sbdg.org.br
Grupo de Formação 90 – SBDG

BERTALANFFY, L.v. – Teoria Geral dos Sistemas, Vozes, Petropólis , 1972
BERTALANFFY, L.v. – Teoria Geral dos Sistemas, Vozes, Petropólis , 1972

Qual a diferença entre Paradigma Orientado a Objetos(java) e o Paradigma estrutural?

A Orientação a Objetos e Estruturada, são paradigmas totalmente diferentes.

1 – Estrutural trata um programa como um Conjunto de instruções, Orientação a Objetos trata um programa como um Conjuntos de Objetos que interagem entre si(Assim como a derivação da Teoria Geral dos Sistemas):

Exemplos Java,Linguagem Java, Programação, Java

Clique na imagem se quiser ampliar

Orientação a Objetos:

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem se quiser ampliar

2 – I/O no dispositivo(Estrutural) X CRUD(Orientação a Objetos):

Conceitos Iniciais: O tempo de resposta do acesso a HD normalmente é de 10 elevado a -3(10 ^ -3), o tempo de resposta do acesso a RAM é de 10 elevado a -9(10 ^ -9).(Ou seja o acesso em Ram é muito mais rápido)

-> Linguagens com paradigma Estrutural trabalham com o conceito de I/O(Input/Output) no dispositivo.

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem se quiser ampliar

*A conexão entre dispositivos é feito e permancida, ou seja conecta-se um dispositivo no outro e fica conectado direto.(A leitura dos dados fica conforme a necessida porem a conexão é mantida),(Programa em RAM e dados em disco), fica nesse trabalho de acessar um ao outro.

-> Linguagens com paradigma Orientado a Objetos entra com o conceito de CRUD(Create, Retrieve, Update e Delete)

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem se quiser ampliar


* A conexão entre dispositivos só é feita na leitura de dados da HD, o programa todo(Programa e dados) trabalha em memória RAM, onde o tempo de resposta é bem menor.

3 – Decomposição da Visão dos Paradigmas:

Estrutural -> Começa em um nivel de Abstração de MACRO -> MICRO
Essencial -> Começa em um nivel de Abstração Intermediário.
Macro Intermediário -> Micro
Orientação a Objetos -> Começa em um nivel de Abstração MICRO, e o Conjunto de MICROS, formam um MACRO

<p>
  <span style="color: rgb(0, 0, 0);font-family:arial;">Nasce o Conceito de Decomposição de Sistemas</span>
</p>

<p>
  <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">4 &#8211; Geração:</span>
</p>

<p>
  <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Estrutural -></span><span style="color: rgb(0, 0, 0);font-family:arial;"> São linguagens de Terceira Geração</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Orientação a Objetos -></span><span style="color: rgb(0, 0, 0);font-family:arial;"> São linguagens de Quarta Geração</span>
</p>

<p>
  <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">5 &#8211; Conforme a distribuição do seu programa:</span>
</p>

<p>
  <span style="color: rgb(0, 0, 0);font-family:arial;">(Em estrutural temos o conceito de que um programa é dividido em duas partes: Dados e funções).</span>
</p>

<p>
  <span style="color: rgb(0, 0, 0);font-family:arial;">Conforme Observado no item 2,</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"> em linguagens estruturadas os dados estão em HD e as funções em RAM portanto:</span>
</p>

<p>
  <a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/SphG6jGR0mI/AAAAAAAAAEE/dH7j-KddL94/s1600-h/paradigmaEstruturado.png"><img style="cursor: pointer; width: 217px; height: 195px;" src="http://localhost/www/wp0/uploads/paradigmaEstruturado.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5375124126934618722" border="0" /></a><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Clique na imagem se quiser ampliar</p> 

  <p>
    Conforme Observado no item 2, em linguagens Orientadas a Objeto, o acesso a HD é muito baixo, pois todo programa se encontra em RAM portanto:
  </p>

  <p>
    </span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SphHALSFIqI/AAAAAAAAAEM/rJPlev6JvvU/s1600-h/paradigmaOrientadoaObjetos.png"><img style="cursor: pointer; width: 320px; height: 248px;" src="http://localhost/www/wp0/uploads/paradigmaOrientadoaObjetos.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5375124223620883106" border="0" /></a><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Clique na imagem se quiser ampliar</p> 

    <p>
      </span><span style="color: rgb(0, 0, 0);font-family:arial;"> Essa diferença é explicita agora, </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">EM Orientação a Objetos os dados e as funções em si ficam Juntos(RAM), ja em Estrutural os dados ficam em meios diferentes das funções em si(Como se fosse um programa dividido em 2 partes &#8211; RAM E HD).</span>
    </p>

    <p>
      <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">6-</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;">Gerenciamento automático de memória:</span>
    </p>

    <p>
      <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Estrutural:</span><span style="color: rgb(0, 0, 0);font-family:arial;"> Em linguagens Estruturais não tenho gerenciamento de memória, ou seja a alocação e desalocação de memória fica a encargo do programador. Em muitos casos acontece oque chamamos de memory link ou seja memória presa ao programa que não tem mais uso a ele e que não foi desalocada pela programador.</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Orientado a objetos:</span><span style="color: rgb(0, 0, 0);font-family:arial;"> Em java temos o Garbage Collector(GC) que é quem faz a desalocação automática de memória deixando a cargo da Arquitetura de java a desalocação de memória e não ao programador.</span>
    </p>

    <p>
      <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">7-</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;">Ponteiros:</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Estrutural:</span><span style="color: rgb(0, 0, 0);font-family:arial;"> Temos o conceito de ponteiro a estrutura</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Orientado a objetos: </span><span style="color: rgb(0, 0, 0);font-family:arial;">Temos o conceito de Referência ao objeto</span>
    </p>

    <div style="text-align: center; color: rgb(0, 0, 0);font-family:arial;">
      <span style="font-weight: bold;font-size:180%;">É Fundamental Intender:</span></p>
    </div>

    <p>
      <span style="color: rgb(0, 0, 0);font-family:arial;"> Paradigmas Diferentes não significa melhor e nem pior, TUDO depende da Implementação do código que você usará. É importante saber intender e principalmente valorizar as diferenças. Nada é Pior e nem melhor, apenas tem sua utilidade diferenciada.</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Com o paradigma Orientado a Objetos surge o Conceito de componentização</span><span style="color: rgb(0, 0, 0);font-family:arial;">(ir em busca de um componente(objeto), fazer a junçar de componentes(objetos)) e surge um Conceito de que a maioria dos softwares hoje em dia são OBJETOS COMPUTACIONAIS.</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;"> Olhando um programa de uma forma abstrata, dividindo ele em 2 partes:</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;">&#8211; Dados</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;">&#8211; Funções</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;">O paradigma estrutural trabalha com Dados em HD, Funções em RAM(Os dados e as funções são do programa todo). Orientação a objetos trabalha com dados e funções em RAM(Cada Objeto tem seus Dados e suas funções).</span><br /><span style="color: rgb(0, 0, 0);font-family:arial;"> No paradigma Orientado a Objetos, Um programa é um conjunto de objetos, e cada Objeto não sabe e nem quer saber do outro. Abstraindo da vida real é como se fosse uma relação entre duas pessoas..Uma dia a outra: Eu nem sei e nem quero saber da sua vida, cada um com seus problemas.(Infelizmente na vida real nem sempre ocorre isso!)</span>
    </p>

    <p>
      <span style="color: rgb(0, 0, 0);font-family:arial;font-size:130%;"><span style="font-weight: bold;">Paradigma Orientado a Objetos e Abstrações do mundo real:</span></span>
    </p>

    <p>
      <span style="color: rgb(0, 0, 0);font-family:arial;"> Antigamente tinha-se em mente o conceito de &ldquo;Fabricantes de Automóveis&rdquo; pois, a Fábrica fabricava carros. Se você observar hoje em dia temos o CONCEITO MONTADORA DE CARROS(Essas grandes empresas não fabricam carros elas montam, todas as peças(componentes,objetos) ja estão prontos), com o Conjuntos de objetos do carro(motor, roda etc) ja estão prontos, elas simplesmente MONTAM OS OBJETOS NO CARRO, sendo assim uma MONTADORA DE CARROS.</span>
    </p>

    <p>
      <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;">Importante saber diferenciar:</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Implementar =</span><span style="color: rgb(0, 0, 0);font-family:arial;"> Construir algo</span><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"> Implantar =</span><span style="color: rgb(0, 0, 0);font-family:arial;"> Colocar algo ja construido para FUNCIONAR</span>
    </p>

    <p>
      <span style="color: rgb(0, 0, 0);font-family:arial;">Esse post é só uma introdução entre as diferenças de Paradigmas, conceitos de Orientação de objetos ja introduzindo a linguagem de programação JAVA</span>
    </p>

    <p>
      <span style="color: rgb(0, 0, 0);font-family:arial;font-size:130%;"><span style="font-weight: bold;"></span></span></span>
    </p>

Tecnologia Java

Tecnologia Java. Linguagem Java.

Sumário: A linguagem de programação, A plataforma,O ambiente de desenvolvimento,O ambiente de Implementação,Grupos da Tecnologia, JSR

Quando falamos em java, oque te surge a cabeça?
– A linguagem de programação
– A Plataforma independente – JVM
– O ambiente de desenvolvimento – javac, java, javap,javadoc,jar etc
– O ambiente de Implementação – SDK, JRE ou navegador web/

Minha idéia é não só, mostrar a linguagem em si, mais a PLATAFORMA Independente(JVM).

Oque é uma plataforma?
É a junção de um Sistema Operacional e Hardware, as mais conhecidas são windows,Unix, Solaris,Linux etc.(São conhecidas como plataformas nativas).

Oque é uma plataforma indepedente?
É a emulação de uma plataforma nativa, é uma plataforma de Software que roda em cima de uma Plataforma Nativa.

A Plataforma indepedente é dividida em 2 partes:
– Java Virtual Machine(JVM)
– Java Application Programming Interface(API’s)

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem para ampliar

Na maoria das linguagens de programação quando você compila um programa, você obtem um arquivo compilado e ligado com bibliotecas nativas da plataforma nativa(o compilador dessas linguagens ja é um LINK EDITOR que é quem faz essa ligação com bibliotecas nativas), quando você quer utilizar esse programa compilado para um plataforma nativa em outra, você tem que fazer novamente o programa(em muitos casos recompilar não funciona).
Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem para ampliar
Esse executável de Windows so funcionara em plataformas Nativas Windows

Plataforma dependente:
Com a compilação de seu algoritmo na linguagem de programação você obtem um programa ESPECIFICO da CPU.

Plataforma independente de java:
Com a compilação de seu algoritmo na linguagem de programação você obtem um programa em bytecode.

Programas de Plataforma dependente:
O tipo de compilador usado por essas plataformas converte seu programa em um código específico daquela CPU. O executavel como chamado nada mais é Doque a junção desse código específico daquela CPU + bibliotecas de código nativo, quem faz essa junção é o link Editor. Ou seja temos um binário daquela CPU mais código nativo.

Programas de Plataforma independente:
Programas na tecnologia java podem ser executado em qualquer combinação de CPU com Sistema Operacional. O compilador de java transforma seu programa em bytecode ao invéz de Código de CPU específico a uma Plataforma.
Como java não usa editor de links na compilação quando a JVM vai interpretar os bytecodes a JVM necessita das API’s para entender as instruções específicas daquela Plataforma nativa.Ou seja existe a necessidade da JRE para a intepretação dos bytecodes.

Depois que eu obtive meu bytecode, quem executará ele?
Na verdade quem interpretará seu bytecode é a Máquina Virtual Java.
Java é considerado uma linguagem interpretada e portavel.

Oque é a máquina virtual java?
A Maquina virtual java é um programa específico da plataforma nativa que entende bytecodes de uma plataforma independente(ou seja, seja la o S.O. que compilou) a JVM consegue interpretar eles na plataforma nativa.

Exemplos Java,Linguagem Java, Programação, Java
Clique na imagem para ampliar

Alem da Máquina Virtual, oque mais preciso para Executar um programa em java?
Alem da máquina virtual, você necessita de um conjunto(uma biblioteca) que são as API’s de java. O conjunto JVM(Java virtual Machine) e API’s é conhecido como JRE(Java Runtime Environment).

Oque são API’s?
API é um coleção de “programas” prontos que fornecem ajuda no desenvolvimento.Muitas coisas você não precisará fazer, ja tem pronto em java.

A JRE é por plataforma nativa?
Sim a JRE é derivada de plataforma para plataforma nativa e é necessaria para fazer a interpretação de qualquer programa em java que você queira que vire processo.

Quais são as funções da JVM?
– Carregar Class Files(arquivo.class), Verificar código(para ver se ele atende a segurança de código previsto em java), Interpretar código.

Como é o nome do compilador de java?
javac

Oque são bytecodes?
Toda vez que você compila um programa em java, você cria um class File(arquivo.class) esse class File será interpretado pela JVM da JRE e causará em um processo na Plataforma nativa.

Se eu compilar esse exemplo:

public class Exemplo{

}

Vou obter isso em bytecode:

Compiled from “Exemplo.java”
public class Exemplo extends java.lang.Object{
public Exemplo();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object.“”:()V
4: return

Oque eu preciso então para interpretar esse meu Programa.class?
Precisa fazer Download da JRE da sua Plataforma Nativa depois, abra o Terminal(DOS, VI) e digite:
java NomeDoSeuPrograma

java = Launcher java, é quem diz para a JVM que é hora de trabalhar

Oque eu preciso para Desenvolver um programa em java?
1 – Saber a linguagem
2 – Um bloco de notas
3 – O SDK

Oque é o SDK?
Software Development kit, A escolha é de Plataforma nativa para Plataforma Nativa.

Oque eu tenho incluso no SDK?
– JRE(JVM + API’s)
– javac(compilador)
– Documentação das API’s(download separado)
– Utilitários como: jar,javap,javadoc etc
– Exemplo de programas da tecnologia java

Como eu verifico os bytecodes do meu Class file?
1 – abra o terminal
2 – ache o caminho do arquivo, aonde ele esta.
3 – javap -c MeuPrograma

Quais são os grupos da Tecnologia java?
SE – Standard Edition -Applets e Programas Desktop.Todo mundo começa por aqui, é padrão, Desktop ou Applet.
EE – Enterprise Edition – Softwares empresariais, Normalmente são via internet,eCommerce, webShoppings, Paginas de Web etc
ME – Micro Edition – São Softwares para Mobile(celular etc)

Cada Grupo da Tecnologia tem o seu SDK(que permite compilar, executar e criar programas em java)
Temos então:

Java SE SDK
Java SE SDK applet
Java EE SDK
Java ME SDK

Quais são os passos para Desenvolver um programa em java?
1 – Baixe do site da SUN o SDK do SE
2 – Instale o arquivo, abre o terminal(DOS,VI) e digite java – version, se aparecer algo dizendo a versão de java, estamo no caminho(Senão instale novamente)
3 – Abra o bloco de notas
4 – Escreva seu código em java
5 – Salve o seu código com NomeDaClasse.java
6 – Compile seu arquivo: javac NomeDaClasse.java
7 – Mande A JVM trabalhar: java NomeDaClasse

Applets:
– São programas escritos na linguagem de programação java que residem no Servidor Web, são baixados por um navegador no Sistema no cliente e são executados por esse navegador.
– Os Applets são chamados via uma página de web
– O navegador tem uma implementação própria da Jvm para executar os Applets.
-Foi a primeira utilização de java, que naquele tempo tinha outro nome “OAK” e foi uzado na implementação de aplicativos logo no inicio da Internet.
– Sâo iniciadas em um web browser

Gerenciamento automático de memória(coletor de lixo):
– Muitas linguagens de programação passam a responsabilidade de alocação e desalocação de memoria ao programador, Oque se for mal feito, gera problemas de memoria.(Ponteiros etc)
– Em java o coletor de lixo faz a desalocação de memória automática, oque quer dizer que você não precisa se preocupar com DESALOCAÇÃO de memória.

Oque é JSR?

Quando o primeiro grupo da criação da Linguagem java, chamado “Oak” estava no mercado, eles criaram uma proposta de projetos, que foi chamada Request for Programming(RFP), que futuramente se Tornaria a JSR(Java Specification Requests ) que são especificações criadas para a implementação da Tecnologia java, São tipo padrões. Quem controla isso é o :
http://jcp.org/en/home/index
Java Community Process o qual é um grupo formado por empresas e associados que visa a melhoria da Tecnologia java, discutindo e implementando melhorias dia por dia.
Para asseguar a portabilidade de seus programas em java, Toda JRE segue uma especificação, a mesma esta disponivel se alguem quiser criar sua própria JVM e compilador. Chama-se JSR.

Qual a versão de java?
Existe dois tipos de versões?
– Versão de desenvolvimento = 1.6
– Versão de Marketing = 6.0
Ambas são iguais, so depende da onde você usa.

Versões de java:
Java 1.02 -> 250 Classes, Applet era o Grande atrativo da linguagem
Java 1.1 -> 500 Classes, Se tornando Popular, melhor GUI
Java 2 -> 2300 Classes , Somente em 3 versões agora, SE, EE,ME
Java 5 -> 3500 Classes,Conhecido como Tiger

<p>
  A mudança de 1.1 para 2 foi tão grande que não dava para seguir o ritmo de 1.2, 1.3 foi então que lançaram java 2 como se fosse um novo produto, Para quem não conhece é o ciclo conhecido como End-of-life(Eol) do Product Life Cycle(PLC).</span><br /><init style="color: rgb(0, 0, 0);font-family:arial;"><br /><span style="font-weight: bold;font-size:130%;">Quais linguagens a JVM entende?</span><br /><span style="font-size:100%;">Não somente java, a JVM entende muitas outras linguagens, Pyton, Ruby etc(Se você pesquisar na Internet: Programming Languages for JVM, verá a quantidade)</span>
</p>

<p>
  <span style="font-weight: bold;font-size:180%;">Quem carrega Classes na JVM?</span><br /><span style="font-size:100%;">Existe um &ldquo;programa&rdquo; dentro da JVM que é quem carrega Classes em java, se CHAMA CLASS LOADER, ele so carrega sobre necessidade(ou seja ele so carrega sa que você utilizar).</span>
</p>

<p>
  <span style="font-size:180%;"><span style="font-size:100%;"></p> 

  <p>
    <span style="font-weight: bold;">Comsumer Device</span> é sempre relevante a Clientes de dispositivos mobiles.
  </p>

  <p>
    </span></span><span style="font-weight: bold;">Garbage collector -></span> <span style="font-size:100%;">você não roda ele, você sugere que ele rode, a COleta de lixo ocorre automaticamente durante a vida de um programa java, porem , a coleta de lixo varia de implemtação da JVM para Implementação da JVM.</span>
  </p>

  <p>
    <span style="font-weight: bold;">JVM -></span> <span style="font-size:100%;">Class Loader = alem de fazer carregamento de classes tem mecanismos de segurança como um separador de classes locais e as da rede, isso impede vacalos de tróia pois, as classes locais são carregadas primeiro.</span>
  </p>

  <p>
    </init>
  </p>

  <div style="text-align: center; color: rgb(0, 0, 0);font-family:arial;">
    <init style="font-family:arial;"><span style="font-weight: bold;font-size:180%;">É hora da revisão:</span></init></p> 

    <p>
      <init></init></div> 

      <p>
        <init style="font-family: arial; color: rgb(0, 0, 0);">&#8211; A tecnologia java não é somente a linguagem de programação<br />&#8211; A JVM é quem interpreta o seus Class Files<br />&#8211; Todo programa compilado em java se transforma em um Class File<br />&#8211; javac é o compilador de java<br />&#8211; java é o launcher de java<br />&#8211; javap -c é utilizado para ver os bytecodes do seu Class File<br />&#8211; Existem 3 grupos em java(SE, EE,ME)<br />&#8211; Para programar em java, você precisa do SDK<br />&#8211; Para interpretar programas em java, você precisa da JRE<br />&#8211; a JRE é a junção de JVM + API&rsquo;s
      </p>

      <p>
        Bom por hoje é só!!!<br />CYA DUDES<br /></init>
      </p>

Programação Java Herança Encapsulamento Modificadores de acesso Construtores

Programação Java Herança Encapsulamento Modificadores de acesso Construtores. Linguagem Java. Herança:

Em orientação a Objetos surge o conceito de Herança, com intenções como diminuir duplicação de código Colocando membros(Variaveis e métodos) em comum em uma classe onde outras podem herdar dela e criar um relacionamento entre Classes.Temos o mesmo conceito de Taxonomia da Biologia.

Programação Java Herança Encapsulamento Modificadores de acesso Construtores

A classe que contem membros em comum é chamado Parent Class ou Super Class. As Classes que herdam ou extends da classe que contem membros em comum são chamadas Child Class ou Sub Class.

Em java temos o conceito de Herança Simples oque significa que uma Classe so pode ter uma Parent Class/SuperClasse.
Para saber se uma Classe é realmente Child Class, faça o teste do “is a”, se a Classe é uma Parent Class também então, ela esta dentro do conceito,

<p>
  Vejamos o exemplo:
</p>

<p>
  </span></span></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqZJO7e3RkI/AAAAAAAAAW0/JoFGuPupUzQ/s1600-h/heranca.png"><img style="cursor: pointer; width: 320px; height: 152px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqZJO7e3RkI/AAAAAAAAAW0/JoFGuPupUzQ/s320/heranca.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379067325774775874" border="0" /></a> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span style="font-weight: bold;"><br />Clique na imagem para ampliar</p> 

  <p>
    Na figura acima,</span><span>Podemos Observar que:</p> 

    <p>
      1 &#8211; <span style="font-weight: bold;">Chefe</span> &ldquo;is a (é um)&rdquo; Encarregado<br />2 &#8211; </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Chefe</span> &ldquo;is a (é um)&rdquo; Funcionário<br />3 &#8211; <span style="font-weight: bold;">Chefe</span> tem tanto: nome,salario quanto bonusSalarial quanto carroEmpresa<br />4 &#8211; <span style="font-weight: bold;">Chefe</span> é uma Especialização de Encarregado e de Funcionário<br />5 &#8211; <span style="font-weight: bold;">Chefe</span> é apenas uma Child Class ou Sub Class de Encarregado e de Funcionário<br />6 &#8211; <span style="font-weight: bold;">Encarregado</span> </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>&ldquo;is a (é um)&rdquo; Funcionário</span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br />7 &#8211; <span style="font-weight: bold;">Encarregado</span> </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>tem tanto: nome,salario quanto bonusSalarial<br /></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>8 &#8211; <span style="font-weight: bold;">Encarregado é </span>Child Class de Funcionário e Parent Class de Chefe<br />9 &#8211; </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Encarregado é uma </span>Especialização de Funcionário e Generalização de Chefe<br />10 &#8211; </span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Funcionário é </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Parent Class ou Super Class de Encarregado e de Chefe, nessa respectiva ordem<br />11 &#8211; </span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Funcionário tem </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>nome e salário<br />12 &#8211; </span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Funcionário é uma Generalização de </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Encarregado<br />13 &#8211; </span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Funcionário é uma Generalização de Chefe<br />Ou seja,<br />*Chefe tem tudo que um Encarregado tem e tudo que um funcionário tem, </span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>mais membros adicionais ao cargo</span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>*Encarregado tem tudo que um funcionário tem, mais </span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>membros adicionais ao cargo</span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><br /><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>*Funcionário tem tudo que o cargo atribui a ele.</p> 

      <p>
        Esse conceito de criar um classe com base em um ja existente é chamada de SUBDIVISÃO DE CLASSE.
      </p>

      <p>
        <span style="font-size:130%;">Como declarar uma SuperClasse?</span>
      </p>

      <p>
        </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Você Declara uma <span style="font-weight: bold;">SuperClasse</span> igual declara uma classe em java:</p> 

        <p>
          [modificador_de_acesso] <span style="font-weight: bold;">class</span> identificador{
        </p>

        <p>
          bloco_de_codigo
        </p>

        <p>
          }</span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;"><br /></span><span style="font-size:130%;"><br />Como Declarar um SubClass?</p> 

          <p>
            </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:130%;"><span style="font-size:100%;"> Use a keyword extends.</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

            <p>
              [modificador_de_acesso] class identificador extends identificador_parent_class
            </p>

            <p>
              *modificador_de_acesso &#8211;</span> </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">É uma keyword opcional, podemos ter public,abstract ou final, se nenhum dos três for especificado então consideramos o modificador de acesso default.<br />*</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">class &#8211; </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">Indica que o escopo é uma declaração de Classe</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><br />*identificador &#8211; </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">O nome que você atribui a Classe</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><br />*extends &#8211; </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">Diz ao compilador que ela é uma Child Class</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><br />*</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">identificador_parent_class &#8211; </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">É o identificador da Parent Class</span></span></span></span></span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

              <p>
                <span style="font-size:180%;">Modificadores de acesso:</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                <p>
                  <span style="font-weight: bold;">Source:</span> <a rel="nofollow" target="_blank" href="http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html">http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html</a>
                </p>

                <p>
                  Os membros(Método e Atributos) de uma classe podem ter quatro níveis de acesso.<span style="font-weight: bold;">Classes só podem ter dois niveis de acesso ou public ou default(sem nenhum).Os modificadores de acesso indicam como será o acesso aquele membro ou aquela Classe, COMO vai se relacionar internamente ou externamente.</p> 

                  <p>
                    </span></span></span></span></span></span>
                  </p>

                  <table style="width: 604px; height: 166px; font-family: arial; color: rgb(0, 0, 0);" border="1" bordercolor="#000000" cellpadding="4" cellspacing="0">
                    <col width="51"> <col width="51"> <col width="51"> <col width="51"> <col width="51"> <tr valign="top">
                      <td style="text-align: center; font-weight: bold;" width="20%">
                        <p>
                          Modificador
                        </p>
                      </td>

                      <td style="text-align: center; font-weight: bold;" width="20%">
                        <p>
                          Mesma Classe
                        </p>
                      </td>

                      <td style="text-align: center; font-weight: bold;" width="20%">
                        <p>
                          Mesmo Pacote
                        </p>
                      </td>

                      <td style="text-align: center; font-weight: bold;" width="20%">
                        <p>
                          SubClasse
                        </p>
                      </td>

                      <td style="text-align: center; font-weight: bold;" width="20%">
                        <p>
                          Universo
                        </p>
                      </td>
                    </tr>

                    <tr valign="top">
                      <td style="text-align: left; font-weight: bold;" width="20%">
                        <p>
                          <span style="font-size:100%;"><code>public</code></span>
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>
                    </tr>

                    <tr valign="top">
                      <td style="text-align: left; font-weight: bold;" width="20%">
                        <p>
                          <code>protected</code>
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                        </p>
                      </td>
                    </tr>

                    <tr valign="top">
                      <td style="text-align: left; font-weight: bold;" width="20%">
                        <p>
                          <span style="font-size:100%;">default</span>
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                        </p>
                      </td>
                    </tr>

                    <tr valign="top">
                      <td style="text-align: left; font-weight: bold;" width="20%">
                        <p>
                          <span style="font-size:100%;"><code>private</code></span>
                        </p>
                      </td>

                      <td style="text-align: center;" width="20%">
                        <p>
                          Sim
                        </p>
                      </td>

                      <td width="20%">
                        <p>
                        </p>
                      </td>

                      <td width="20%">
                        <p>
                        </p>
                      </td>

                      <td width="20%">
                        <p>
                        </p>
                      </td>
                    </tr>
                  </table>

                  <p>
                    <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">*Um modificador de acesso é considerado default, quando nenhum modificador é especificado.</span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:180%;"></p> 

                    <p>
                      Construtores:</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                      <p>
                        Constutores são usados toda vez que um objeto é Instanciado.<span style="font-weight: bold;">Construtores não são Membros de um classe.</span>
                      </p>

                      <p>
                        <span style="font-weight: bold;">Como declarar um construtor?</span>
                      </p>

                      <p>
                        </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">[modificador_de_acesso] class </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">identificador {</p> 

                        <p>
                          </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">[modificador_de_acesso] identificador([argumentos]){</p> 

                          <p>
                            </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;">bloco_de_codigo</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                            <p>
                              }</span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><br />}</p> 

                              <p>
                                </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><br />*modificador_de_acesso &#8211;</span> </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span>É uma keyword opcional, que indica como o construtor será acessado externamente a classe.<br />*</span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span>identificador &#8211; </span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span>É o nome do construtor, <span style="font-weight: bold;">deve</span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span> ser o mesmo nome da CLASSE</span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><br /><span style="font-weight: bold;">*argumentos</span> &#8211; São variáveis locais ao bloco_de_codigo do construtor, Perceba que os argumentos são opcionais <span style="font-weight: bold;">porem os [ ] &#8211; Parenteses NÃO.</span><br /><span style="font-weight: bold;">*bloco_de_codigo</span> &#8211; Conjunto de instruções que serão interpretadas quando o construtor for invocado<br /></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:180%;"><br />Vejamos exemplo:</span></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                <p>
                                  public class <span style="font-weight: bold;">MinhaClasse</span>{
                                </p>

                                <p>
                                  private int <span style="font-weight: bold;">idade</span>;
                                </p>

                                <p>
                                  public </span></span></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-weight: bold;">MinhaClasse(int minhaIdade){</p> 

                                  <p>
                                    idade = minhaIdade;
                                  </p>

                                  <p>
                                    }<br /></span></span></span></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                    <p>
                                      public static void <span style="font-weight: bold;">main</span>(String [ ] array){<br /></span></span></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-weight: bold;">MinhaClasse objeto = new </span></span></span></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-weight: bold;">MinhaClasse( 21);</span></span></span></span></span></span></span></span><br /><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                      <p>
                                        }<br />}
                                      </p>

                                      <p>
                                        *Relembrando alguns conceitos, Por causa de main, temos <span style="font-weight: bold;">o &ldquo;poder&rdquo; de ter um PROCESSO VINHA LINHA DE COMANDO.</span><br /></span></span></span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                        <p>
                                          </span></span></span></span></span><a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqbH4Zk5v1I/AAAAAAAAAYU/-crTyXEg9JE/s1600-h/construtor.png"><img style="cursor: pointer; width: 320px; height: 151px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqbH4Zk5v1I/AAAAAAAAAYU/-crTyXEg9JE/s320/construtor.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379206576692903762" border="0" /></a><br /><span style="font-weight: bold; color: rgb(0, 0, 0);"></p> 

                                          <p>
                                            Clique na imagem para ampliar</span>
                                          </p>

                                          <p>
                                            <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:180%;">Construtor Padrão:</span><br /></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"> Toda vez que o construtor não for explicitamente escrito ele é implicitamente colocado pelo compilador.Se você explicitamente declarar um construtor, você perde o construtor que o compilador ia colocar. <span style="font-weight: bold;">Vejamos o exemplo:</span></p> 

                                            <p>
                                              <span style="font-weight: bold;">Em sintaxe java:</span><br />public class Funcionario{
                                            </p>

                                            <p>
                                              }
                                            </p>

                                            <p>
                                              <span style="font-weight: bold;">Em sintaxe bytecode:</span>
                                            </p>

                                            <p>
                                              <span style="font-weight: bold;">public Funcionario(); </span><br />Code:<br />0: aload_0<br />1: invokespecial #1; //Method java/lang/Object.&ldquo;<init>&rdquo;:()V<br />4: return
                                            </p>

                                            <p>
                                              }
                                            </p>

                                            <p>
                                              Perceba que no exemplo acima, <span style="font-weight: bold;">O construtor da classe NÃO foi explicitamente escrito porem, FOI implicitamente colocado pelo COMPILADOR.</p> 

                                              <p>
                                                Vejamos agora com o construtor explicitamente escrito:
                                              </p>

                                              <p>
                                                Em Sintaxe java:
                                              </p>

                                              <p>
                                                </span>public class<span style="font-weight: bold;"> Funcionario{<br />public Funcionario( ){</p> 

                                                <p>
                                                  }<br />}<br /></span></init></span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><br />Em Sintaxe bytecode:</p> 

                                                  <p>
                                                    public Funcionario();<br /></span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"> Code:<br />0: aload_0<br />1: invokespecial #1; //Method java/lang/Object.&ldquo;<init>&rdquo;:()V<br />4: return</init></span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                                    <p>
                                                      }
                                                    </p>

                                                    <p>
                                                      Neste exemplo o construtor explicitamente dito é igual ao colocado pelo compilador, foi somente para exemplificar porem, o construtor implicito do compilador é substituido pelo explicito declarado.
                                                    </p>

                                                    <p>
                                                      </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:180%;"><br />Herança Simples Padrão:</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                                      <p>
                                                        Toda classe em java <span style="font-weight: bold;">que não é especificado</span> a Parent Class, Herda da Classe Object(java.lang.Object).A partir do momento que você especifica A parent Class de uma classe sua classe deixa de ser DIRITAMENTE uma child Class de object.
                                                      </p>

                                                      <p>
                                                        <span style="font-weight: bold;">Vamos provar oque estou dizendo?</p> 

                                                        <p>
                                                          Em Sintaxe java:
                                                        </p>

                                                        <p>
                                                          </span><span>public</span><span style="font-weight: bold;"><span style="font-weight: bold;"> class Test{ //Declaração de Classe</p> 

                                                          <p>
                                                            }<br /></span></span></span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><br />Em Sintaxe bytecode:</p> 

                                                            <p>
                                                              </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span>Compiled from &ldquo;Test.java&rdquo;<br />public class Test <span style="font-weight: bold;">extends java.lang.Object</span>{<br />public Test();<br />Code:<br />0: aload_0<br />1: invokespecial #1; //Method java/lang/Object.&ldquo;<init>&rdquo;:()V<br />4: return</p> 

                                                              <p>
                                                                }</init></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"></p> 

                                                                <p>
                                                                  Isso significa:</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><br />Vejamos um exemplo, Classe: <span style="font-weight: bold;">Gerente</span> extends <span style="font-weight: bold;">Funcionario</p> 

                                                                  <p>
                                                                    </span>public class<span style="font-weight: bold;"> Funcionario{</p> 

                                                                    <p>
                                                                      }
                                                                    </p>

                                                                    <p>
                                                                      </span>public class <span style="font-weight: bold;">Gerente extends Funcionario{</p> 

                                                                      <p>
                                                                        }<br /></span><br /></span></span></span></span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqZbxexTJMI/AAAAAAAAAW8/DjqWum6d46g/s1600-h/heranca2.png"><img style="cursor: pointer; width: 167px; height: 189px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqZbxexTJMI/AAAAAAAAAW8/DjqWum6d46g/s320/heranca2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379087710572192962" border="0" /></a> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-weight: bold;"></p> 

                                                                        <p>
                                                                          Isso é chamado de UML
                                                                        </p>

                                                                        <p>
                                                                          </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"></p> 

                                                                          <p>
                                                                            Como podemos Observar,</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"> explicitamente <span style="font-weight: bold;">Gerente é um funcionário logo</span>, A parent Class de gerente é funcionário, Vejamos <span style="font-weight: bold;">a class Gerente em bytecode:</span></p> 

                                                                            <p>
                                                                              Compiled from &ldquo;Gerente.java&rdquo;<br />public class <span style="font-weight: bold;">Gerente extends Funcionario</span>{<br />public Gerente();<br />Code:<br />0: aload_0<br />1: invokespecial #1; //Method Funcionario.&ldquo;<init>&rdquo;:()V<br />4: return
                                                                            </p>

                                                                            <p>
                                                                              }
                                                                            </p>

                                                                            <p>
                                                                              Isso foi explicitamente feito, mais e a classe Funcionario <span style="font-weight: bold;">Vejamos bytecode de Funcionario:</p> 

                                                                              <p>
                                                                                </span>Compiled from &ldquo;Funcionario.java&rdquo;<br />public class <span style="font-weight: bold;">Funcionario extends java.lang.Object</span>{<br />public Funcionario();<br />Code:<br />0: aload_0<br />1: invokespecial #1; //Method java/lang/Object.&ldquo;<init>&rdquo;:()V<br />4: return
                                                                              </p>

                                                                              <p>
                                                                                }<span style="font-weight: bold;"></p> 

                                                                                <p>
                                                                                  Isso quer dizer o seguinte, Gerente é um funcionário e também é um Objeto, vejamos o Porque:
                                                                                </p>

                                                                                <p>
                                                                                  </span></init></init></span></span></span></span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqZbz3qfaxI/AAAAAAAAAXE/G-tmqjTz7R4/s1600-h/heranca3.png"><img style="cursor: pointer; width: 320px; height: 142px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqZbz3qfaxI/AAAAAAAAAXE/G-tmqjTz7R4/s320/heranca3.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379087751614262034" border="0" /></a> <span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                  <p>
                                                                                    Clique na imagem para ampliar</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;">Oque podemos Tirar de conclusão sobre Gerente?</span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><br />&#8211; Gerente é um funcionário<br />&#8211; Gerente é um Object(Pois Funcionário é um Object e Gerente é um funcionário)</span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><init><init></p> 

                                                                                    <p>
                                                                                      <span style="font-weight: bold;font-size:130%;">Oque acontece se eu Instanciar um Objeto Gerente?</span>
                                                                                    </p>

                                                                                    <p>
                                                                                      </init></init></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;">public class <span style="font-weight: bold;">Gerente extends Funcionario{</p> 

                                                                                      <p>
                                                                                        </span><span>public static void</span><span style="font-weight: bold;"> main(String array[ ]){<br /></span><span>Gerente objeto</span><span style="font-weight: bold;"> = new Gerente( );// Instanciando um objeto, ou seja chamando<br /></span><span> //o construtor da classe Gerente</span><span style="font-weight: bold;"></p> 

                                                                                        <p>
                                                                                          }<br />}</span></span></span></span></span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br />Acabamos de Obter isso:<br /></span></span></span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqZeUtOlBxI/AAAAAAAAAXM/-J3iR2q15Ik/s1600-h/ObjetoGerente.png"><img style="cursor: pointer; width: 220px; height: 276px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/SqZeUtOlBxI/AAAAAAAAAXM/-J3iR2q15Ik/s320/ObjetoGerente.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379090514771773202" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                          <p>
                                                                                            Clique na imagem para ampliar, Lembra-se do Gerente é um Funcionário e é um Object, Então agora faz sentido ne?</span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                            <p>
                                                                                              </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-weight: bold;font-size:130%;">Oque acontece se eu Instanciar um Objeto Funcionario?</span></span></span></span></span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;">public class <span style="font-weight: bold;">Funcionario{</p> 

                                                                                              <p>
                                                                                                </span><span>public static void</span><span style="font-weight: bold;"> main(String array[ ]){<br /></span><span>Funcionario objeto</span><span style="font-weight: bold;"> = new Funcionario( );// Instanciando um objeto, ou seja chamando<br /></span><span> //o construtor da classe Funcionario</span><span style="font-weight: bold;"></p> 

                                                                                                <p>
                                                                                                  }<br />}
                                                                                                </p>

                                                                                                <p>
                                                                                                  </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqZe8jr2S1I/AAAAAAAAAXU/2tjWNuJIodo/s1600-h/ObjetoFuncionario.png"><img style="cursor: pointer; width: 223px; height: 267px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqZe8jr2S1I/AAAAAAAAAXU/2tjWNuJIodo/s320/ObjetoFuncionario.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379091199404952402" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                  <p>
                                                                                                    Clique na imagem para ampliar, Lembra-se que toda classe extends java.lang.Object quando não extends nenhuma outra explicitamente!!! Ou seja todo objeto Instanciado é também um objeto da Parent Class</span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                    <p>
                                                                                                      <span style="font-size:130%;">Membros de classe:</p> 

                                                                                                      <p>
                                                                                                        </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:130%;"><span style="font-size:100%;">Atributos e métodos são membros da classe, o construtor não é considerado um membro<br />&#8211; Membros com modificador de acesso public são considerados interface de uma classe, pois fazem a conexão com o mundo externo<br />&#8211; Membros com modificador de acesso private são considerados encapsulados<br /></span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /><span style="font-size:180%;"><br />Encapsulamento:</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"></p> 

                                                                                                        <p>
                                                                                                          Em orientação a objetos têm-se o conceito de encapsulamento <span style="font-weight: bold;">que é esconder dados da sua classe e apenas deixá-los disponivel através de métodos. </span>O conceito de encapsulamento é feito em java utilizando modificadores de acesso nos membros e construtor da classe.<br />Toda vez que um membro tem <span style="font-weight: bold;">modificador de acesso public</span>, <span style="font-weight: bold;">ele é considerado uma interface</span>, <span style="font-weight: bold;">pois ele interage com o meio externo ao objeto</span>, toda vez que u<span style="font-weight: bold;">m membro tem modificador de acesso private</span> ele é considerado <span style="font-weight: bold;">encapsulado pois não existe interação externa.</span>
                                                                                                        </p>

                                                                                                        <p>
                                                                                                          </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Exemplos:<br /></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span> Em um objeto com membros considerados interfaces(ou seja interagem com o meio externo) o acesso a eles é feito sem nenhum problema com a notação de ponto.</p> 

                                                                                                          <p>
                                                                                                            </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>public class <span style="font-weight: bold;">Pessoa</span>{<br /><span style="font-weight: bold;">public</span> int idade; // veja que pelo modificador de acesso sabemos que é uma interface</p> 

                                                                                                            <p>
                                                                                                              }<br /></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /></span></span></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>public class <span style="font-weight: bold;">ClasseTest</span>{</p> 

                                                                                                              <p>
                                                                                                                public static void <span style="font-weight: bold;">main</span>(String array[ ]){<br /></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Pessoa</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;"> jose = new </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Pessoa</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">( );</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;">jose</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">.idade</span><span style="color: rgb(0, 0, 0);font-family:arial;"> = 21;</span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span> // Notação de ponto na Variavel de instancia Normalmente</p> 

                                                                                                                <p>
                                                                                                                  }
                                                                                                                </p>

                                                                                                                <p>
                                                                                                                  }
                                                                                                                </p>

                                                                                                                <p>
                                                                                                                  <span style="font-weight: bold;">Em sintax bytecode temos no método main:</span><br />public static void main(java.lang.String[]);<br />Code:<br />0: new #2; //class Pessoa<br />3: dup<br />4: invokespecial #3; //Method Pessoa.&ldquo;<init>&rdquo;:()V<br />7: astore_1<br />8: aload_1<br />9: bipush 21<br />11: putfield #4; //Field Pessoa.idade:I<br />14: return
                                                                                                                </p>

                                                                                                                <p>
                                                                                                                  }<br /><span style="font-weight: bold;">De uma forma resumida, na instrução 11 do bytecode teremos isso:<br />A instrução putfield nesse caso, requer o endereço do objeto e o inteiro que será colocado na instance variable do objeto<br /></span>
                                                                                                                </p>

                                                                                                                <p>
                                                                                                                  </init></span></span></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqZujIA8lWI/AAAAAAAAAXc/lAJ6bfOLpV8/s1600-h/Encapsulamento.png"><img style="cursor: pointer; width: 320px; height: 197px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqZujIA8lWI/AAAAAAAAAXc/lAJ6bfOLpV8/s320/Encapsulamento.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379108354666567010" border="0" /></a><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                                  <p>
                                                                                                                    Clique na imagem para ampliar,e ao fim da instrução 11 teremos:
                                                                                                                  </p>

                                                                                                                  <p>
                                                                                                                    </span></span></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/SqZulxfqE_I/AAAAAAAAAXk/Bk9wQzRV2wU/s1600-h/Encapsulamento2.png"><img style="cursor: pointer; width: 320px; height: 197px;" src="http://2.bp.blogspot.com/_CdmD2AaXIBs/SqZulxfqE_I/AAAAAAAAAXk/Bk9wQzRV2wU/s320/Encapsulamento2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379108400160969714" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">Clique na imagem para ampliar</span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                                    <p>
                                                                                                                      <span style="font-size:130%;">Agora usando encapsulamento:</span>
                                                                                                                    </p>

                                                                                                                    <p>
                                                                                                                      </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>public class <span style="font-weight: bold;">Pessoa</span>{<br /><span style="font-weight: bold;">private</span> int idade; // membro encapsulado ou seja, não pode haver acesso externo a classe Pessoa</p> 

                                                                                                                      <p>
                                                                                                                        }<br /></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /></span></span></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>public class <span style="font-weight: bold;">ClasseTest</span>{</p> 

                                                                                                                        <p>
                                                                                                                          public static void <span style="font-weight: bold;">main</span>(String array[ ]){<br /></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Pessoa</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;"> jose = new </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Pessoa</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">( );</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;">jose</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">.idade</span><span style="color: rgb(0, 0, 0);font-family:arial;"> = 21;</span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span> // Notação de ponto na Variavel de instancia , Erro de compilação</p> 

                                                                                                                          <p>
                                                                                                                            }
                                                                                                                          </p>

                                                                                                                          <p>
                                                                                                                            }</span></span></span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                                            <p>
                                                                                                                              Existe um Campo de força na variavel atributo, para ter acesso a ela somente via a mesma classe, Isso é chamado de Encapsulamento.
                                                                                                                            </p>

                                                                                                                            <p>
                                                                                                                              </span></span></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqZv4JI2PSI/AAAAAAAAAXs/pN3eKsIAgdk/s1600-h/Encapsulamento3.png"><img style="cursor: pointer; width: 320px; height: 196px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqZv4JI2PSI/AAAAAAAAAXs/pN3eKsIAgdk/s320/Encapsulamento3.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379109815257021730" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                                                                                              <p>
                                                                                                                                Clique na imagem para ampliar, Erro de compilação</span> <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                                                <p>
                                                                                                                                  <span style="font-size:180%;">Métodos get e set:</span>
                                                                                                                                </p>

                                                                                                                                <p>
                                                                                                                                  <span style="font-size:100%;"><span style="font-size:100%;"><br /></span><span style="font-size:100%;"> Métodos </span></span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-size:100%;"><span style="font-size:100%;"><span style="font-size:100%;">get e set nada mais são doque boas práticas quando se usa encapsulamento, que é usar métodos que deem acesso aos membros encapsulados de uma classe, alem disso podemos ter um lógica antes de configurar o valor de algum membro, existe uma certa verificação de valores.</span></p> 

                                                                                                                                  <p>
                                                                                                                                    <span style="font-weight: bold;">Métodos get</span> tem retorno e não tem argumentos<br /><span style="font-weight: bold;">Métodos set</span> tem argumentos e não tem retorno
                                                                                                                                  </p>

                                                                                                                                  <p>
                                                                                                                                    </span></span></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Exemplo:</p> 

                                                                                                                                    <p>
                                                                                                                                      </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>public class <span style="font-weight: bold;">Pessoa</span>{<br /><span style="font-weight: bold;">private</span> int idade; // membro encapsulado ou seja, não pode haver acesso externo a classe Pessoa</p> 

                                                                                                                                      <p>
                                                                                                                                        public void <span style="font-weight: bold;">setIdade</span>(<span style="font-weight: bold;">int x</span>){<br />idade = x;
                                                                                                                                      </p>

                                                                                                                                      <p>
                                                                                                                                        }
                                                                                                                                      </p>

                                                                                                                                      <p>
                                                                                                                                        public <span style="font-weight: bold;">int</span> <span style="font-weight: bold;">getIdade</span>(){<br /><span style="font-weight: bold;">return idade;</span>
                                                                                                                                      </p>

                                                                                                                                      <p>
                                                                                                                                        }
                                                                                                                                      </p>

                                                                                                                                      <p>
                                                                                                                                        }<br /></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /></span></span></span> <span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>public class <span style="font-weight: bold;">ClasseTest</span>{</p> 

                                                                                                                                        <p>
                                                                                                                                          public static void <span style="font-weight: bold;">main</span>(String array[ ]){<br /></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Pessoa</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;"> jose = new </span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">Pessoa</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">( );</span></span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;">jose</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;">.setIdade(21);</span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                                                          <p>
                                                                                                                                            }
                                                                                                                                          </p>

                                                                                                                                          <p>
                                                                                                                                            }</span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;"></span></p> 

                                                                                                                                            <p>
                                                                                                                                              Lembra-se que o acesso a membros private so pode ser feito na mesma classe? Pois bem os métodos </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><span style="font-weight: bold;">getIdade e setIdade estão na mesma classe e tem modificador de acesso public, oque permite o acesso externo a classe e interno ao membros encapsulados.</span></span></span></span><br /><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /></span></span></span><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/SqZ2PosnIOI/AAAAAAAAAX0/v18ZXuH_gPg/s1600-h/Encapsulamento4.png"><img style="cursor: pointer; width: 266px; height: 320px;" src="http://2.bp.blogspot.com/_CdmD2AaXIBs/SqZ2PosnIOI/AAAAAAAAAX0/v18ZXuH_gPg/s320/Encapsulamento4.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379116815935283426" border="0" /></a><br /><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"><br />Clique na imagem para ampliar</span><br /><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br /></span></span></span>
                                                                                                                                            </p>

                                                                                                                                            <div style="text-align: center; color: rgb(0, 0, 0);">
                                                                                                                                              <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:130%;"><span>Basicamente o acesso é feito ao método do objeto, e depois o atributo. Vejamos resumidamente:</p> 

                                                                                                                                              <p>
                                                                                                                                                </span></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sqa3a4407wI/AAAAAAAAAX8/kSLWV32DKVk/s1600-h/Encapsulamento5.png"><img style="cursor: pointer; width: 320px; height: 307px;" src="http://4.bp.blogspot.com/_CdmD2AaXIBs/Sqa3a4407wI/AAAAAAAAAX8/kSLWV32DKVk/s320/Encapsulamento5.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5379188477515853570" border="0" /></a></div> 

                                                                                                                                                <p>
                                                                                                                                                  <span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span></p> 

                                                                                                                                                  <p>
                                                                                                                                                    É hora da revisão:<br />&#8211; </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Child Class é a Mesma coisa que SubClass</span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span><br />&#8211; Parent Class é a Mesma coisa que SuperClass<br /></span></span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>&#8211; Java </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>so tem o conceito de Herança simples, ou seja uma Sub Class so pode ter uma Super Classe<br />&#8211; Os modificadores de acesso indicam como será o acesso aquele membro externamente ou internamente.<br />&#8211; Classes só podem ter modificador de acesso public ou default<br />&#8211; Modificador de acesso default é quando nenhum outro é especificado explicitamente<br />&#8211; Membros de classe(métodos e atributos ) e construtores que tem modificador de acesso public são considerados interfaces da classe<br />&#8211; </span></span></span><span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"><span style="font-size:100%;"><span>Membros de classe(métodos e atributos ) e construtores que tem modificador de acesso private são encapsulados</span></span></span> <em>Programação Java Herança Encapsulamento Modificadores de acesso Construtores</em>
                                                                                                                                                  </p>

Programação Java Classe String

Programação Java Classe String. Linguagem Java. Sumário: java.lang.String; – Maneiras de criar Objetos String,Pool de literais,Comparação entre Strings, Concatenação

A classe String se encontra nos pacotes padrões de java(Oque te da a habilidade de em uma forma implicita usar a Classe) e de ta a habilidade de armazenar uma sequencia de caracteres(Toda essa representação deve ficar entre aspas duplas – > “caracteres”).Veja que String é um tipo referência tanto que o primeiro S de String é maiúsculo.

Programação Java Classe String

É importantíssimo saber:
char
– É a representação de um caracter somente, em aspas simples ’ ’

String
– É a representação de um ou mais caracteres, em aspas duplas “ ”

Como Declarar um Objeto String?

Temos 2 maneiras:

1-
Usando new
String myVariable = new String(“test”);

<p>
  </font><font style="color: rgb(0, 0, 0);"> Quando você faz essa declaração você , cria 2 objetos String em memória e coloca os caracteres em uma area reservada na heap para Literais que é chamada de Literal pool.</p> 

  <p>
    </font> <font style="color: rgb(0, 0, 0);"><font style="font-weight: bold;">2-</font> Sem usar a keyword new, A classe String é um tipo diferente em java, a única classe que aceita ser instanciada sem usar new:</font>
  </p>

  <p>
    <font style="color: rgb(0, 0, 0);">String myVariable = &ldquo;test&rdquo;;</p> 

    <p>
      </font><font style="color: rgb(0, 0, 0);">ou</p> 

      <p>
        </font><font style="color: rgb(0, 0, 0);">String myVariable = (&ldquo;test&rdquo;);</p> 

        <p>
          </font><font style="color: rgb(0, 0, 0);"> Quando você faz essa declaração você, cria 1 objeto String em memória <font style="font-weight: bold;">e coloca os caracteres em uma area reservada na heap para Literais que é chamada de Literal pool</font>(Isso se os caracteres ja não existirem no Literal Pool), Para evitar a duplicação desnecessária de objeto String em memória , crie objetos String sem a keyword new.</font> <font style="font-weight: bold;" size="5"><font style="color: rgb(0, 0, 0);"></p> 

          <p>
            Oque é esse Pool de literais?<br /></font></font> <font style="color: rgb(0, 0, 0);"><br />Vamos a um exemplo, Esse exemplo serve tanto para Variaveis de referência Local quanto para variáveis de referência Atributo, toda variável do tipo String tem uma variável atributo chamada(<font style="font-weight: bold;">C</font><font style="font-weight: bold;">omparador de valor C</font>) que tem o endereço de memória dos caracteres no Pool de literais<font style="font-weight: bold;">: &#8211; A classe String mantem um POOL DE LITERAIS &#8211; </font></font> <font style="color: rgb(0, 0, 0);"></p> 

            <p>
              public class <font style="font-weight: bold;">MinhaClasse</font>{
            </p>

            <p>
              </font> <font style="color: rgb(0, 0, 0);">public static void main(String[] array){<br /></font> <font style="color: rgb(0, 0, 0);"><br />String <font style="font-weight: bold;">minhaVariavel</font> =<font style="font-weight: bold;"> &ldquo;test&rdquo;</font>; //Instanciei um objeto String com a representação em<br />//caracteres<br /></font><br /><font style="color: rgb(0, 0, 0);"> }</font><br /><font style="color: rgb(0, 0, 0);">}<br /></font> <font style="color: rgb(0, 0, 0);"><br />Teremos a representação somente da Local Variable referente ao frame de main() e a Heap referente a arquitetura da instância da Jvm operando sobre esse Class File,<br /><font style="font-weight: bold;">Vejamos oque acabamos de fazer</font>:</p> 

              <p>
                </font></font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJP_n24ExI/AAAAAAAAAQc/zkhvtaaCz-E/s1600-h/heapStack.png"><img style="cursor: pointer; width: 320px; height: 178px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJP_n24ExI/AAAAAAAAAQc/zkhvtaaCz-E/s320/heapStack.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377948859483296530" border="0" /></a><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Clique na imagem para ampliar</font>
              </p>

              <p>
                <font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="color: rgb(0, 0, 0);"><br /><font style="font-weight: bold;" size="5">E se eu tiver outra String com o mesmo valor de caracteres?</p> 

                <p>
                  </font>Então temos somente uma representação no Pool de literais de representação de caracteres(Isso somente acontence se instanciarmos o objeto String sem a keyword new):- A classe String mantem um POOL DE LITERAIS &#8211; Se uma String literal ja existe no Pool então uma referência para o Pool será o endereço da Referência ao Comparador,<font style="font-weight: bold;"> Isso para Strings sem o uso da keyword new e com a mesma sequência de caracteres e ordem</p> 

                  <p>
                    </font><br />public class <font style="font-weight: bold;">MinhaClasse</font>{
                  </p>

                  <p>
                    public static void main(String[] array){<br />String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;</font>;<br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;</font>;
                  </p>

                  <p>
                    }<br />}
                  </p>

                  <p>
                    </font></font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqJRDbUP0JI/AAAAAAAAAQk/gvtfrHwf3tU/s1600-h/heapStack2.png"><img style="cursor: pointer; width: 320px; height: 178px;" src="http://1.bp.blogspot.com/_CdmD2AaXIBs/SqJRDbUP0JI/AAAAAAAAAQk/gvtfrHwf3tU/s320/heapStack2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377950024347930770" border="0" /></a><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"><font size="3"><br />Clique na imagem para ampliar,Toda vez que você cria um literal String a jvm checa o pool de Literal primeiro, se a string não existir no pool de literal então é colocado no pool a nova representação(Isso sem usar a keyword new).</p> 

                    <p>
                      <font size="5">Mais exemplo:</font>
                    </p>

                    <p>
                      </font></font><font style="color: rgb(0, 0, 0);" face="arial"><font size="3">public class <font style="font-weight: bold;">MinhaClasse</font>{</p> 

                      <p>
                        public static void main(String[] array){<br />String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;</font>;<br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">&ldquo;gol&rdquo;</font>;
                      </p>

                      <p>
                        }<br />}</font></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"></p> 

                        <p>
                          Vejamos oque aconteceu:
                        </p>

                        <p>
                          </font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJRsrYcN5I/AAAAAAAAAQs/sK4nNNidW9U/s1600-h/heapStack3.png"><img style="cursor: pointer; width: 320px; height: 189px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJRsrYcN5I/AAAAAAAAAQs/sK4nNNidW9U/s320/heapStack3.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377950733035124626" border="0" /></a>
                        </p>

                        <p>
                          <font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"><font size="3"><br />Clique na imagem para ampliar,</font></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">A manipulação é feita por um algoritmo da Classe.</p> 

                          <p>
                            <font size="3"><font size="5">E com a keyword new?</font><br /></font></font><font style="color: rgb(0, 0, 0);" face="arial"><font size="3"> Objetos String com a keyword new, não se referem a objetos na Pool de literais porem pode ser feito com o método da classe String intern().</p> 

                            <p>
                              public class <font style="font-weight: bold;">MinhaClasse</font>{
                            </p>

                            <p>
                              public static void main(String[] array){<br />String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;</font><br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">new String(&ldquo;test&rdquo;);</font>
                            </p>

                            <p>
                              }<br />}</font></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"></p> 

                              <p>
                                Vejamos oque aconteceu:
                              </p>

                              <p>
                                </font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJSh5s_JNI/AAAAAAAAAQ0/wJBG83GUoBY/s1600-h/heapStack4.png"><img style="cursor: pointer; width: 320px; height: 214px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJSh5s_JNI/AAAAAAAAAQ0/wJBG83GUoBY/s320/heapStack4.png" alt="Programação Java Classe String" id="BLOGGER_PHOTO_ID_5377951647412462802" border="0" /></a><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"><font size="3"><br />Clique na imagem para ampliar,</font></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">A manipulação é feita por um algoritmo da Classe.<br /></font>
                              </p>

                              <p>
                                <font style="font-weight: bold; color: rgb(0, 0, 0);" size="5" face="arial">Comparação entre String:</font>
                              </p>

                              <p>
                                <font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;">Temos 2 maneiras básicas de comparação:</font><br /><font style="font-weight: bold;">1-</font> o sinal de igual<font style="font-weight: bold;">(Operador == )</font><br /><font style="font-weight: bold;">2</font><font style="font-weight: bold;">&#8211;</font> o <font style="font-weight: bold;">método equals()</font></p> 

                                <p>
                                  <font style="font-weight: bold;" size="5">O operador == (igual):<br /></font> Avalia o endereço de memória das Strings dentro do comparador de valor C, vamos a um exemplo:
                                </p>

                                <p>
                                  <font style="font-weight: bold;" size="4">Instanciando um Objeto String sem a keyword new:</font>
                                </p>

                                <p>
                                  public class <font style="font-weight: bold;">MinhaClasse</font>{<br />public static void main(String[] array){
                                </p>

                                <p>
                                  String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;</font><br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;<br /></font><br />}<br />} <font style="font-weight: bold;" size="3"></p> 

                                  <p>
                                    minhaVariavel == minhaVariavel2 ? </font><br />Sim a resposta é true, vejamos o porque:<br /></font><br /><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJT7DoaZqI/AAAAAAAAAQ8/a8lqj06cII8/s1600-h/heapStack5.png"><img style="cursor: pointer; width: 320px; height: 190px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJT7DoaZqI/AAAAAAAAAQ8/a8lqj06cII8/s320/heapStack5.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377953179085989538" border="0" /></a><br /><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"><font size="3">Clique na imagem para ampliar,</font></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Perceba que o teste é feito no Comparador de valor C, Agora me responde você, 0xA2 = 0xA2?</font>
                                  </p>

                                  <p>
                                    <font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;" size="5">Instanciando um objeto String com a keyword new:</font></p> 

                                    <p>
                                      public class <font style="font-weight: bold;">MinhaClasse</font>{
                                    </p>

                                    <p>
                                      public static void main(String[] array){<br />String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;</font><br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">new String(&ldquo;test&rdquo;);</font>
                                    </p>

                                    <p>
                                      }<br />}
                                    </p>

                                    <p>
                                      <font style="font-weight: bold;" size="4">minhaVariavel == minhaVariavel2 ? </font><br />Não a resposta é false, vejamos o porque:
                                    </p>

                                    <p>
                                      </font><a style="font-family: arial; color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJUtnbQsJI/AAAAAAAAARE/c8TMDhIyiOk/s1600-h/heapStack6.png"><img style="cursor: pointer; width: 320px; height: 214px;" src="http://3.bp.blogspot.com/_CdmD2AaXIBs/SqJUtnbQsJI/AAAAAAAAARE/c8TMDhIyiOk/s320/heapStack6.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5377954047687962770" border="0" /></a><br /><font style="color: rgb(0, 0, 0);" size="3" face="arial"><br /></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial"><font size="3">Clique na imagem para ampliar,</font></font><font style="font-weight: bold; color: rgb(0, 0, 0);" face="arial">Perceba que o teste é feito no Comparador de valor C, Agora me responde você, 0xA2 = 0xA3?</font><br /><font style="color: rgb(0, 0, 0);" size="3" face="arial"><br /><font style="font-weight: bold;" size="5"><br />Usando o método equals():</font><br />Retorna true se ambos tem o mesmo conteudo, ou seja a mesma sequência e ordem de caracteres.</p> 

                                      <p>
                                        </font><font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;" size="5">Instanciando um Objeto String sem a keyword new:</p> 

                                        <p>
                                          </font></font><font style="color: rgb(0, 0, 0);" size="3" face="arial">public class <font style="font-weight: bold;">MinhaClasse</font>{<br />public static void main(String[] array){</p> 

                                          <p>
                                            String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;</font><br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;<br /></font><br />}<br />} <font style="font-weight: bold;" size="5"></p> 

                                            <p>
                                              <font size="3">minhaVariavel.equals(minhaVariavel2)?<br />Sim a resposta é true, os caracteres &ldquo;test&rdquo; nessa sequência e ordem são iguais a esse: &ldquo;test&rdquo;? Sim claro.</font>
                                            </p>

                                            <p>
                                              </font></font><br /><font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;" size="5">Instanciando um objeto String com a keyword new:</p> 

                                              <p>
                                                </font></font><font style="color: rgb(0, 0, 0);" size="3" face="arial">public static void main(String[] array){<br />String <font style="font-weight: bold;">minhaVariavel</font> = <font style="font-weight: bold;">&ldquo;test&rdquo;;</font><br />String <font style="font-weight: bold;">minhaVariavel2</font> = <font style="font-weight: bold;">new String(&ldquo;test&rdquo;);</font></p> 

                                                <p>
                                                  }<br />}
                                                </p>

                                                <p>
                                                  <font style="font-weight: bold;" size="5">minhaVariavel.equals(minhaVariavel2)?</p> 

                                                  <p>
                                                    </font>Sim a resposta é true, os caracteres &ldquo;test&rdquo; nessa sequência e ordem são iguais a esse: &ldquo;test&rdquo; ? Sim claro.<br /></font><font style="color: rgb(0, 0, 0);" size="3" face="arial"><font style="font-weight: bold;" size="5"></p> 

                                                    <p>
                                                      <font size="3"><font size="4"><font size="3">Concatenação de String:</font></p> 

                                                      <p>
                                                        </font></font></font><font size="3"><font size="3"> <font size="3">O operador(+ somar) é usado para concatenar Strings, veja o exemplo:</p> 

                                                        <p>
                                                          String myVariable = &ldquo;He&rdquo;;<br />String myVariable1 = &ldquo;llo&rdquo;;<br />String myVariable2 = myVariable + myVariable1;</font>
                                                        </p>

                                                        <p>
                                                          <font style="font-weight: bold;" size="3"><font size="3">Qual o valor de myVariable2?<br /><font size="3">&ldquo;Hello&rdquo;!!!</font></font></p> 

                                                          <p>
                                                            <font size="5">Convertendo String em Tipos Primitivos:</font><br /></font><font size="3"> Se você quer converter um objeto String em tipos Primitivos pode usar uma classe associada com o tipo primitivo. Cada tipo primitivo tem uma classe associada com ela:<br /></font><font style="font-weight: bold;" size="3"><br />double &#8211; > Double<br />int &#8211; > Integer<br />etc</p> 

                                                            <p>
                                                              *Veja que Classes começam com letra maiúscula<br /></font><font size="3">E todas essas Classes tem método utilitários que fazem essa conversão, exemplo:<br /></font><font style="font-weight: bold;" size="3"><br />String d = &ldquo;2&rdquo;;<br />double variable = Double.parseDouble(d);</p> 

                                                              <p>
                                                                Agora variable vale 2.0
                                                              </p>

                                                              <p>
                                                                <font size="4"><font size="4">É hora da revisão:</font></p> 

                                                                <p>
                                                                  </font></font><font size="3"><font size="3"> <font size="3">&#8211; Temos 2 maneiras de se instanciar objetos String, Usando a keyword new ou não usando<br />&#8211; Toda vez que instanciamos um objeto String sem a keyword new, mantemos a representação de caracteres dentro de um pool, onde ela não sera duplicada se ja tiver uma representação em igual ordem e representação<br />&#8211; Se instanciar objeto String com a keyword new, mesmo que ja haja a representação no pool em ordem e sequência mesmo assim sera duplicada a sequência(gasto de memória)<br />&#8211; O operador ==(igual) avalia endereços de memória, o método equals() avalia o conteúdo dos objetos<br />&#8211; Concatenação é a junção do conteúdo de uma String com o conteúdo de outra<br />&#8211; É importantíssimo saber:<br />char &#8211; É a representação de um caracter somente, em aspas simples &rsquo; &rsquo;<br />String &#8211; É a representação de um ou mais caracteres, em aspas duplas &ldquo; &rdquo;</p> 

                                                                  <p>
                                                                    &#8211; Todo objeto String pode ser convertido em um numero literal ou um caracter(char), usando a classe associada ao tipo literal<br /></font></font></font></font></font><font style="font-weight: bold;" size="3"><font size="3"><br />Próximo post Operadores Relacionais, Condicionais e Controle de fluxo!!!</font><br /><font size="4">Cya DUDES!!!</font><br /></font></font>
                                                                  </p>

Node.js Enide Studio IDE

Enide Studio initially (version 0.11-preview) was released as stand-alone product for all Operating systems. However later changes saw it develop in a Tool Suite for Node.js, JavaScript and Java Development which is available from the Eclipse plugin store and from the main website. Node.js Enide Studio IDE.

Instalando node.js

enide studio ide, enide studio node.js, enide studio download

Microsoft Windows: abra o site http://nodejs.org/ e clique no botão “installl”;

Linux: sudo apt-get install node;

Mac OS X: tem um link para um installer: http://nodejs.org/dist/v0.10.26/node-v0.10.26.pkg

Teste a instalação com: “node –version”. No Ubuntu, tive que usar: “nodejs –version”.

Uma vez instalado, verifique se o node.js funciona. Crie um arquivo como este, salvando-o como “hello.js”:

<br /> var http = require('http');<br /> http.createServer(function handler(req, res) {<br /> res.writeHead(200, {'Content-Type': 'text/plain'});<br /> res.end('Hello World\n');<br /> }).listen(1337, '127.0.0.1');<br /> console.log('Server running at http://127.0.0.1:1337/');<br />

E execute o comando:

node hello.js

Você verá uma tela preta com a mensagem: “Server running at http://127.0.0.1:1337/&#8221;. Abra um navegador e digite: “http://localhost:1337&#8221; e você verá a mensagem “Hello World” aparecer.

No Ubuntu, o comando é “nodejs hello.js”. Pode ser o pacote que eles disponibilizaram.

Se tudo funcionou, você acabou de criar sua primeira aplicação servidora com o node.js.

[slideshare id=57364038&doc=freeideforjavasoftwaredevelopment-160122095057]

Enide Studio Plugin includes:

Nodeclipse 0.17, – Chrome Development Tools, AngularJS for Eclipse, TernIDE, Eclipse WTP WebResources, TCF Terminals, MarkDown (*.md) Editor, – GitHub Flavored Markdown (GFM) Viewer, various themes, Nodeclipse EditBox, RestClient Tool. StartExplorer, Git Add-on, Maven, Gradle integration, Minimalist Jade Editor

Enide Studio IDE

Enide Studio IDE download http://www.nodeclipse.org/