[DUVIDA]Diferença entre instanciar classe e definir como atributo [RESOLVIDO]

Gente uma pequena duvida, mas naum soube responder

Qual é a diferença entre

[code]Classe{

NomeClasse nc = new NomeClasse();[/code]

e

[code]
Classe{

private NomeClasse nc = new NomeClasse();[/code]

ta ai a duvida!

As duas são atributos de instância, a diferença esta só nos modificadores de acesso, a primeira esta com modificador Default, ou seja tem visibilidade de pacote e a segunda ta com modificador private só pode ser acessado na mesma classe.

Mas em síntese os dois são atributos de instância.

a diferença é q como na primeira vc não usou um modificador de acesso por padrão ele é default oq torna seu atributo visivel somente a classe q o instaciou e as classes q estejam no mesmo pacote q sua classe, e na segunda declaração vc o declarou como private oq torna seu atributo visivel somente à classe q o declarou.

Humm achei q fosse isso, mas não tinha muita confiança vlw por esclarecer a duvida!