Em todo lugar que procuro acho sempre explicações muito técnicas do que é realmente static, ou senão escrevem artigos somente dizendo quando usar o static.
Gostaria de saber de uma forma rápida e simples de entender, o que é static?
Em todo lugar que procuro acho sempre explicações muito técnicas do que é realmente static, ou senão escrevem artigos somente dizendo quando usar o static.
Gostaria de saber de uma forma rápida e simples de entender, o que é static?
Caro irmão pgtpgt, tenha calma, não to achando que voce esteja no caminho certo… Percebo voce muito afoito pra entender tudo do dia pra noite… tem certas coisas que não tem relevante importancia quando não precisa ter e quando precisar você saberá… A quanto tempo voce esta estudando Java? É o Java como programar 4ed que voce tem aí né? Relaxe… primeiro faça uma boa leitura… mesmo sem entender tudo va avançando nos capitulos e voce perceberá que com o longo do tempo voce irá se familiarizá com a linguagem e termos tecnicos… com muita calma va fazendo todos os exercicios… e voce terá exelentes resultados.
Abraço irmão…
hehehe…
É você tem razão jbjares.
ahhh e é esse livro mesmo. (Java como programar 4ed)
static é uma variavel (ou metodo), que nao depende de um objeto instanciado pra ser usado
Viu só? Aqui todo mundo ajuda senão de uma maneira de outra… Continue em frente que voce consegue pgtpgt… Abraço
Só lembrando… quando a aplicação é executada, todos os método estáticos também já são alocados na memória :joia:
Os membros estaticos não são carregados quando a aplicação é executada e sim quando a classe é carregada.
Existem 3 circuntancias em que um classe é carregada:
Depois o classloader inclui esta classe em um cache !
http://java.sun.com/docs/books/vmspec/2nd-edition/html/Concepts.doc.html#19075
Diz-se que o membro (variável, método) quanto estático pertence à classe e não a sua instância.
ex.:
class Teste{
static int altura=10;
}
…
para acessar altura…
Teste.altura
…
note que…nao foi necessário criar uma instância de Teste para acessar seu atributo altura…
outro exemplo:
Math.pi
Math.cos(arg)
:joia:
Apenas complementando o post da Diana,
apesar do membro pertencer a classe, uma instancia pode acessar o membro estatico.
[code]
class Teste{
static int altura=10;
public static void main(String args[])
{
Teste teste = new Teste();
System.out.println("Altura : " + teste.altura);
}
}[/code]
E complementando o post do pm…
Os método estáticos, tem acesso somente a variáveis de escopo do próprio método, ou de variáveis de instância estáticas.
isso mesmo Ratinho,
por exemplo pgtpgt,
o codigo abaixo daria erro de compilação, pois o atributo largura não é estatico
porem a variavel peso esta correta, pois foi declarada dentro do escopo do metodo estatico.
class Teste{
static int altura=10;
int largura = 1;
public static void main(String args[])
{
int peso = 100;
System.out.println("Peso : " + peso);
System.out.println("Largura : " + largura );
}
}
Resumindo, um instancia acessa membros estaticos, porem membros estaticos não acessam membros de instancia.
Nossa 8O
Fazia tempo que n via um post sobre static tao grande assim rsr
pode cre :lol:
e ainda não falamos dos blocos statics…
static {
}
mas ,referente ao acesso de membros, isso tbem segue o conceito do seu penultimo post
Entao ja aproveita e pd falar um poco qdo tiver tempo, pq eu to ate o pescoco aqui na empresa… a… tb n esquece d falar do import static rsr
Entendi perfeitamente todas as explicações. Me ajudaram a compreender muito sobre o static.
Valeu