1、嵌套类是什么?
2、怎么用好它?
3、为什么会出现嵌套类?
4、相关对比扩张知识?
1、嵌套类就是用static关键字修饰的内部类,因此具备类的所有性质,而且是静态的,这就决定了它与普通类的区别和它的优越性。有且只有在嵌套类的情况下,static关键字能放在类前面修饰类。
2、至于怎么样用好它,这个只有在实际应用中去总结,先看如下例子:
public class EveryDay
{
public static void main(String[] args)
{
Person p = new Person("thinker");
p.setHome(new Person.Home("china", "123456"));
System.out.println("address = "+ p.home.address);
}
}
class Person
{
public String name;
public Home home;
Person(String name)
{
this.name = name;
}
public Home getHome()
{
return home;
}
public void setHome(Home home)
{
this.home = home;
}
public static class Home
{
String address;
String telephone;
Home(String add, String tel)
{
address = add;
telephone = tel;
}
}
}
3、
提供封装性:
提高代码的可读性:
形似内部,神似外部:
4、
嵌套类与普通内部类的区别:
1、嵌套类不持有外部类的引用:
在普通内部类中,可以直接访问外部类的所有属性和方法,不论其是否是private类型。这是因为普通内部类持有外部类引用。而嵌套类中只能访问外部类的静态属性和方法。
2、普通内部类不能声明static的方法和属性,而嵌套类对static关键字没有任何限制。
3、静态类不依赖与外部类存在。
在普通内部类的生命周期跟外部类的保持一致,而嵌套类与外部类是独立存在的。