黑马程序员技术交流社区
标题:
【Mr fan成长记】java基础笔记之内部类
[打印本页]
作者:
bjfanxc
时间:
2014-3-26 19:47
标题:
【Mr fan成长记】java基础笔记之内部类
本帖最后由 bjfanxc 于 2014-3-27 14:10 编辑
//大家玩内部类时需要注意的几个问题,敲代码验证问题,这样记忆比较深刻。
package com.itheima;
public class InnerclassTest {
public static void main(String[] args) {
//只有当外部类对象存在,内部类才被加载进内存,所以要先创建外部类对象。
Outer.Inner1 in = new Outer().new Inner1();
in.showInner1();
//内部类被static所修饰,就相当于一个外部类(注意:静态内部类只能访问外部类的静态成员)
Outer.Inner2 in1 = new Outer.Inner2();
in1.showInner2();
//静态内部类的成员也被static修饰,不需要创建内部类对象,直接(类名.方法名)
Outer.Inner2.innerStaticMethod();
//注意:非静态内部类中无法定义静态成员。
}
}
class Outer{
private static int num = 5;
//内部类相当于一个成员
class Inner1{
int num = 6;
public void showInner1(){
int num = 7;
System.out.println(num);//打印的是7
System.out.println(this.num);//打印的是6
System.out.println(Outer.this.num);//打印的是5
}
}
//静态内部类
static class Inner2{
public void showInner2(){
System.out.println("Inner2:"+num);
}
public static void innerStaticMethod(){
System.out.println("innerStaticMethod run!");
}
}
}
复制代码
作者:
lwy0319
时间:
2014-3-26 21:21
感谢楼主分享。。不过帖子的类型应该是作为资源分享吧。。
作者:
bjfanxc
时间:
2014-3-27 14:04
lwy0319 发表于 2014-3-26 21:21
感谢楼主分享。。不过帖子的类型应该是作为资源分享吧。。
恩恩好的!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2