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.


