Classes, programas de acesso, e de várias vias em Java

Com este tema, você pode tornar-se tudo enroscado na terminologia, então você precisa para obter algumas noções básicas para fora do caminho. Aqui está uma peça falsa de código Java como exemplo:

MyClass classe {int myField- // um campo // (um membro) myMethod void () {// um método (outro membro) int myOtherField- // um método-local variável // (não membro)}}

Os comentários sobre o lado direito do código de contar toda a história. Dois tipos de variáveis ​​existem aqui - campos e variáveis ​​método local. Este exemplo não é sobre variáveis ​​método local. Trata-se de métodos e campos.

Transportando em torno da frase # 147 métodos e campos # 148- onde quer que vá não é fácil. É muito melhor para dar a estas coisas uma nome e ser feito com ele. É por isso que ambos os métodos e os campos são chamados membros de uma classe.

Membros contra as classes

Neste ponto, você faz uma distinção importante. Pense em Java de público palavra-chave. Como você já deve saber, você pode colocar público em frente de um membro. Por exemplo, você pode escrever

público void main (args String []) estáticos {

ou

público amountInAccount = 50.22-

Estas utilizações da público palavra-chave vir como nenhuma grande surpresa. O que você não pode já saber é que você pode colocar o público chave na frente de uma classe. Por exemplo, você pode escrever

público classe de desenho {// O código vai aqui}

Em Java, o público palavra-chave tem dois significados ligeiramente diferentes - um significado para os membros e um outro significado para as aulas.

modificadores de acesso para membros

Claro, esta seção é sobre membros. Mas isso não significa que você pode ignorar classes Java. Membros ou não, a classe Java ainda é o lugar onde toda a acção tem lugar. Cada campo é declarado em uma classe particular, pertence a essa classe, e é um membro dessa classe.

O mesmo é verdade para métodos. Cada método é declarado em uma classe particular, pertence a essa classe, e é um membro dessa classe. você pode usar um determinado nome do membro em um determinado lugar em seu código? Para começar a responder à pergunta, verifique se que o lugar é dentro ou fora da classe do membro:

Se o membro é privado, apenas o código que está dentro da classe do membro pode se referir diretamente ao nome do membro.

classe SomeClass {int myField = 10- private} SomeOtherClass classe {void main (args String []) public static {SomeClass someObject = new SomeClass () - // Isso não funciona: System.out.println (someObject.myField) -}}

Se o membro é público, qualquer código pode se referir diretamente ao nome do membro.

classe SomeClass {public int myField = 10} class SomeOtherClass {void main (args String []) public static {SomeClass someObject = new SomeClass () - // Isto funciona: System.out.println (someObject.myField) -}}

Estes números ilustram as idéias de uma forma ligeiramente diferente.

Várias classes e suas subclasses.
Várias classes e suas subclasses.
A gama de código em que um domínio público ou método pode ser utilizado (a sombreado).
A gama de código em que um domínio público ou método pode ser utilizado (a sombreado).
A gama de código em que um campo particular ou método pode ser utilizado (a sombreado).
A gama de código em que um campo particular ou método pode ser utilizado (a sombreado).

menu