java 学习 内部类 第六天
2011-07-22 14:46
344 查看
内部类 ?
内部类就是在类中定义的类 Inner Class 内部类的this表示本对象 outer.this.data 访问到外部类的成员
内部类能操作外部类 public private protectd 缺省权限 修饰的成员
下面是内部类的例子 :
class Outer
{
private int index =100;
class Inner
{
private int index=50;
void print()
{
int index=10;
System.out.println(index);
System.out.println(this.index);
System.out.println(Outer.this.index);
}
}
void print()
{
Inner inner =new Inner();
inner.print();
}
}
class Test
{
public static void main(String []args)
{
Outer out=new Outer();
out.print();
}
}
首先必须先产生一个 外部类 才能进而产生内部类 内部类允许在 函数中定义不过 作用域只是 函数内部
我们可以在外部类内通过函数 产生内部类对象然后返回对象引用 也可以通过 new 来直接创建内部类
如果 main函数和内部类在一个外部类中 那么main函数不能调用内部类方法 因为静态函数 无法调用非静态函数的
方法 需要另外声明一个类 类可以定义在函数中 条件语句中 语句块中 不管嵌套多深都可以随意访问外部类所有成员
如果局部函数内部类要访问函数的参数或者 变量那么要声明为final 否则不能访问
内部类也可以用 protected修饰 可以在同一个类中被访问 也可以在同一个包中访问
如果声明为private 那么只能在 外部类访问 其他类都不能访问了 即使是同一个包中的类都不能访问 。。
内部类也可以声明为abstract
例子如下 :
class Test
{
public static void main(String []args)
{
Outer out=new Outer(); //声明一个外部类
Outer.Inner inner =out.new Inner(); //声明一个内部类 通过外部类的new构造一个 内部类的对象实例
inner.print(); //调用显示方法
}
}
final 修饰内部类的话 这个类就不能被继承了
static 修是内部类 那么 内部类就不能访问外部类 的非静态成员变量
静态的内部类只能访问静态的成员变量和静态成员方法
内部类就是在类中定义的类 Inner Class 内部类的this表示本对象 outer.this.data 访问到外部类的成员
内部类能操作外部类 public private protectd 缺省权限 修饰的成员
下面是内部类的例子 :
class Outer
{
private int index =100;
class Inner
{
private int index=50;
void print()
{
int index=10;
System.out.println(index);
System.out.println(this.index);
System.out.println(Outer.this.index);
}
}
void print()
{
Inner inner =new Inner();
inner.print();
}
}
class Test
{
public static void main(String []args)
{
Outer out=new Outer();
out.print();
}
}
首先必须先产生一个 外部类 才能进而产生内部类 内部类允许在 函数中定义不过 作用域只是 函数内部
我们可以在外部类内通过函数 产生内部类对象然后返回对象引用 也可以通过 new 来直接创建内部类
如果 main函数和内部类在一个外部类中 那么main函数不能调用内部类方法 因为静态函数 无法调用非静态函数的
方法 需要另外声明一个类 类可以定义在函数中 条件语句中 语句块中 不管嵌套多深都可以随意访问外部类所有成员
如果局部函数内部类要访问函数的参数或者 变量那么要声明为final 否则不能访问
内部类也可以用 protected修饰 可以在同一个类中被访问 也可以在同一个包中访问
如果声明为private 那么只能在 外部类访问 其他类都不能访问了 即使是同一个包中的类都不能访问 。。
内部类也可以声明为abstract
例子如下 :
class Test
{
public static void main(String []args)
{
Outer out=new Outer(); //声明一个外部类
Outer.Inner inner =out.new Inner(); //声明一个内部类 通过外部类的new构造一个 内部类的对象实例
inner.print(); //调用显示方法
}
}
final 修饰内部类的话 这个类就不能被继承了
static 修是内部类 那么 内部类就不能访问外部类 的非静态成员变量
静态的内部类只能访问静态的成员变量和静态成员方法
相关文章推荐
- java 学习 内部类 第六天
- 【Java学习笔记】object,内部类,形参和返回值问题
- 黑马程序员java学习笔记——内部类、异常、包
- java学习日记_49:内部类的位置和访问方式
- Java学习总结之第十章 内部类
- JAVA学习-内部类
- JAVA学习:内部类
- Java面向对象学习笔记 -- 6(内部类、Timer)
- Android(java)学习笔记75:匿名内部类的方式实现多线程程序
- java学习笔记.07——内部类
- 我的java学习笔记(16)关于内部类(part 1)
- 黑马程序员-Java学习笔记之抽象类,接口,多态和内部类
- Java学习笔记四——接口与内部类
- Java基础学习第六天——二维数组与面向对象入门
- [core java学习笔记][第六章接口与内部类]
- java学习笔记-接口与内部类
- Java学习——接口和内部类
- java入门学习(12)—内部类的定义及使用初步
- 关于JAVA中 内部类的几点学习笔记
- thinkinginjava学习笔记09_内部类