java内部类 内部静态类.

来源:互联网 发布:谷歌地图js api接口 编辑:程序博客网 时间:2024/05/17 08:46



/*
内部类
01  类中定义的类就是内部类
02  内部类中的成员  和普通类的成员一样
03 内部类可以直接访问 外部类的成员 包括私有对象
04  外部类访问内部类需要创建内部类的对象
05 当内部类被static修饰的时候 只能访问外部类的static成员
06 当内部类定义了静态成员 内部类必须是static的
07 当外部的静态方法访问内部类  内部类也必须是static的


*/
class Demo1
{
   //private  int num=1;
////内部类
//class Demo2
//{
//private int num=2;
//public void show()
//{
//System.out.println("我是内部类");
//// 打印的是Demo2的   2
//System.out.println(num);
//// 打印的是Demo2的   2
//System.out.println(this.num);
////编译出错  提示无法无法从静态上下文引用非静态变量 当变量是 static不会报错 (你懂得)
////System.out.println(Demo1.num);
//// 打印输出1 外部类的
//System.out.println(Demo1.this.num);
//}
//}
   static class IntClass
{
public static void funtion()
{
System.out.println("我是内部类的静态方法");
}
}
public  static void  funtion()
{
IntClass d=new IntClass();
d.funtion();
}


}
class  Demo
{
public static void main(String[] args) 
{
  //01无法创建 内部类
       // Demo2 d=new Demo2();


//02 无法通过实例外部类访问内部类的方法
   //Demo1 d=new Demo();
//d.show();
    
//03 在外部类中通过方法实例内部类 可以访问内部类的成员
//Demo1 d=new Demo1();
//d.funtion();

//04 直接访问内部类的方式
//Demo1.Demo2 dd=new Demo1().new Demo2();
//dd.show();
//05访问静态内部类的成员的格式 newDemo1.Demo2().show();

 //Demo1.IntClass d=new Demo1().new IntClass();
 //d.funtion();
       Demo1  d=new Demo1();
  d.funtion();
}
}


0 0
原创粉丝点击