Compreenda as variáveis de membro Java e as variáveis locais (as menores da história)

Variáveis ​​de membro Java e variáveis ​​locais

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

Acho que você gosta

Origin blog.csdn.net/weixin_45321793/article/details/109228248
Recomendado
Clasificación