Desenvolvimento de aplicativos android: java campos estáticos e métodos

Java é uma linguagem de programação orientada a objeto. Assim, como um desenvolvedor de aplicativo Android, seu principal objetivo é descrever objetos. Seu objetivo intimamente relacionado é descrever primos próximos dos objetos - ou seja, classes. Uma classe é a idéia por trás de um certo tipo de coisa. Um objeto é uma instância concreta de uma classe.

Aqui, uma pequena parte do código-fonte do Android de Torrada classe é reproduzida.

Toast classe pública {public estático última int LENGTH_LONG = 1-pública estático Toast makeText (contexto Contexto, texto CharSequence, duração int) {resultado brinde = new Toast (contexto) -LayoutInflater inflar = (LayoutInflater) context.getSystemService (Context.LAYOUT_INFLATER_SERVICE) -View v = inflate.inflate (com.android.internal. R.layout.transient_notification, null) tv -TextView = (TextView) v.findViewById (com.android.internal.R.id.message) -tv.setText (texto) -result.mNextView = v-result.mDuration = duração -Retornar result-} public void show () {if (mNextView == null) {throw new RuntimeException ( “setView deve ter sido chamado de”) -} serviço INotificationManager = getService () - corda pkg = mContext.getPackageName () - TN tn = MTN-try {service.enqueueToast (pacote, tn, MDURATION) -} catch (RemoteException e) {// vazio}}}

De acordo com este código, o Torrada classe tem um campo estático denominado LENGTH_LONG e um método estático chamado makeText. Qualquer coisa que é declarado para ser estática pertence a toda a classe, não a qualquer instância específica da classe. Quando você cria o campo estático, LENGTH_LONG, você cria apenas uma cópia do campo. Essa cópia fica com o todo Torrada classe. Não importa quantas instâncias do Torrada classe que você criar - um, nove, ou nenhum - você tem apenas um LENGTH_LONG campo.

Compare isso com esta situação. Aqui o Conta classe tem campos nome, endereço, e equilibrar. Os campos não são estáticos, assim que cada instância do Conta classe tem seu próprio nome, o seu próprio endereço, e sua própria equilibrar. Uma instância tem nome Barry Burd e equilíbrio 24.02, e outra instância tem nome John Q. Pública com o equilíbrio -471,03. Para se referir ao equilíbrio do Burd, você pode escrever algo como myAccount.balance, como no seguinte código:

myaccount conta = nova conta () - myAccount.name = “Burd” -myAccount.address = “222 ciberespaço Lane” -myAccount.balance = 24.02-

Para se referir a um membro não-estático de uma classe, você escreve o nome de um objeto (como minha conta), Seguido de um ponto, e, em seguida, o nome do membro (tal como equilibrar).

Video: Estudo Android - Instalando ambiente de programação AndroidStudio - 001

Mas o Torrada classe de LENGTH_LONG campo é estático. Quando você cria um Torrada exemplo, você não cria uma nova LENGTH_LONG campo. o Torrada classe tem um LENGTH_LONG campo, e é isso. Assim, você se refere a LENGTH_LONG por prefaciar o nome do campo com o Torrada nome da classe, seguido por um ponto:



Toast.LENGTH_LONG

Na verdade, um uso típico de Torrada em um aplicativo Android refere-se ao campo estático LENGTH_LONG e o método estático makeText:

Toast.makeText (getApplication (), “Whoa!”, Toast.LENGTH_LONG) .mostrar () -

Uma chamada para o Torrada classe de makeText método devolve um objecto real - um exemplo da Torrada classe. (Você pode verificar isso referindo-se à primeira linha do makeText método acima.) Portanto, em uma aplicação Android, uma expressão tal como

Video: Java Básico - Aula 10. Métodos e Funções

Toast.makeText (getApplication (), “Whoa!”, Toast.LENGTH_LONG)

representa um objeto. E cada objeto criado a partir da Torrada classe tem seu próprio non-static exposição método. É por isso que você normalmente seguem um Toast.makeText ligue com .exposição().

Aqui está uma palavra final sobre o código que você encontra aqui: Além de ser estático, a LENGTH_LONG campo também é final. UMA final campo é aquele cujo valor não pode ser alterado. Em outras palavras, quando você declarar LENGTH_LONG, você pode inicializar seu valor para 1. Mas em outras partes do código, você não pode escrever LENGTH_LONG = 2. (Por falar nisso, você não pode mesmo escrever LENGTH_LONG = 1 em outras partes do código).

Muitas linguagens de programação usam a palavra constante (Ou a abreviatura const) Para se referir a uma variável cujo valor não pode ser alterado.


Publicações relacionadas