ApostilaParteICCII

10222 palavras 41 páginas
UNIVERSIDADE DE SÃO PAULO
INSTITUTO DE MATEMÁTICA E ESTATÍSTICA
Departamento de Ciência da Computação

Introdução à Ciência da Computação com Java e Orientação a Objetos
1a edição

Alfredo Goldman
Fabio Kon
Paulo J. S. Silva
Editado e Revisado por:
Raphael Y. de Camargo

Capítulo 19

Construtores e Especificadores de Acesso
Quais novidades veremos neste capítulo?
• Construtores;
• Especificadores de acesso;
• final e static.

19.1 Construtores
Desde o início deste livro, trabalhamos com diferentes tipos de objetos. Mas, antes de começar a usar um objeto de uma classe ClasseX, devemos criá-lo. Isto foi feito até agora através de chamadas do tipo: ClasseX x = new ClasseX(); na qual a variável x passa a se referir a um novo objeto da classe ClasseX.
Na linguagem Java, quando não especificamos como um objeto deve ser criado, a própria linguagem nos fornece um construtor padrão. Vejamos com mais detalhes um exemplo abaixo: c l a s s Ex1
{
int a ; double d ;
String s ; boolean b ; void imprime ( )
{
System . o u t . p r i n t l n
System . o u t . p r i n t l n
System . o u t . p r i n t l n
System . o u t . p r i n t l n
}

( "o
( "o
( "a
( "o

i n t e i r o vale " + a ) ; real vale " + d ) ;
String vale " + s ) ; boolean vale " + b ) ;

p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s )
{

109

110

CAPÍTULO 19. CONSTRUTORES E ESPECIFICADORES DE ACESSO
Ex1 e = new Ex1 ( ) ; e . imprime ( ) ;
}

}

No exemplo acima podemos ver que os números foram inicializados automaticamente com zero, a String com null e o boolean com false. A inicialização com a referência nula, null, é o padrão para as referências a objetos em geral.
Mas, e se por alguma razão queremos que as variáveis da classe tenham algum valor pré-definido ou, melhor ainda, que seja definido durante a "construção"do objeto? Neste caso podemos definir explicitamente um construtor. Veja o exemplo abaixo: c l a s s Ex2
{
int a ; double d ;
String s ; boolean b ;
Ex2 ( i n t i 1 , d o u b l e d1 , S t

Relacionados