Variáveis de membro Java e variáveis locais
Artigo Diretório
1 semelhanças
1.1 O formato de definição de variáveis é o mesmo
变量类型 变量名 = 变量值
1,2 são declarados antes do uso
1.3 As variáveis têm seu escopo (o escopo é um par de chaves)
2 diferenças
2.1 posição na declaração de classe
Atributos: definidos diretamente em {}
Variáveis locais: declaradas no método, parâmetro do método, bloco de código, parâmetro do construtor, construtor
class Person{
/*
这两个是成员变量
*/
String name;
int age;
public void eat(String name //局部变量){
int number; //局部变量
}
}
2.2 Modificador de competência
Atributo: você pode especificar suas permissões ao declarar, usar modificadores de permissão (incluindo público privado e protegido por padrão)
Variáveis locais: os modificadores de permissão não podem ser usados (pode haver dois entendimentos, um é que eles não podem ser escritos e o outro é que as variáveis locais e os modificadores de permissão do método são os mesmos)
class Person{
/*
成员变量定义时可以指明权限修饰符
*/
private String name;
public int age;
public void eat(){
//private int age; 局部变量定义时不能指明权限修饰符
}
}
Aproximadamente 2.3 inicialização padrão
Atributos: para os atributos da classe, existem valores de inicialização padrão de acordo com seu tipo
O tipo inteiro é 0, o tipo flutuante é 0,0, char é 0, booleano é falso e o tipo de dados de referência é nulo
Variáveis locais: nenhum valor de inicialização padrão significa : Antes de chamar uma atribuição de variável local deve mostrar especial : atribuição de parâmetro quando você chama na linha
2.4 é carregado no local da memória
Atributos: carregados no espaço de heap (não estático)
Variáveis locais: carregadas no espaço da pilha