Java自学|内部类
1.概念
- 内部类可以直接方法外部类的属性和方法
- 可以通过外部类来实例化内部类
2.实例
先定义一个Outer类,它有一个私有属性age和共有方法out,还有一个内部类Inner:
public class Outer {
private int age;
public void out(){
System.out.println("out");
}
//内部类
class Inner{
public void in(){
System.out.println("in");
}
}
}
现在我们来实现,我们new一个outer对象:
Outer outer = new Outer();
我们是不能通过outer来访问其内部类Inner的,那么我们如果需要访问Inner怎么样来实例化呢?
public class Application {
public static void main(String[] args) {
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
inner.in();
}
}
这样就可以了,这种操作,我也是没想到的,还能这样new。
再说说Inner的特点:
public class Outer {
private int age;
public void out(){
System.out.println("out");
}
//内部类
class Inner{
public void in(){
System.out.println("in");
System.out.println(age); //直接访问了外部类的私有属性
out(); //调用了外部类的方法
}
}
}
我们可以发现,内部类的方法可以调用外部类的方法,但是外部类的方法不能调用内部类的方法,内部类也可以访问外部类的私有属性。
内部类就好像是一个方法一样,只不过外部类的方法不能调用内部类的方法。
世上没有白走的路,每一步都算数!
跟上狂神说Java!
每个牛B的人背后都有段苦逼的岁月,只要像sb一样的坚持,终将牛B!