内部类
2014-10-09 22:27
92 查看
------- android培训、java培训、期待与您交流! ----------
package cn.object.innerclass; /** * @author tom *内部类的访问规则: (很少被public) *1:内部类可以直接访问外部类的中的成员,包括私有。 * 之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式:外部类名.this *2:外部类要访问内部类,必需建立内部类对象 * *访问格式: *1:当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中可以直接建立内部类对象 *格式 ::::外部类名.内部类名 变量名=外部类对象.内部类对象 * *2:当内部类在成员位置上,就可以被成员修饰符所修饰 * 比如,private:将内部类在外部类中进行封装 * statuc :内部类就具备了静态的特性 * 当内部类被static修饰后,只能直接访问外部类中的static成员,出现访问局限 * * * 在外部其他类中,如何直接访问静态内部类的非静态成员呢-------Outer.Inner.function()? * * *注意:当内部类中定义静态成员,该内部类必需是static的 * 当外部类中的静态方法访问内部类时,内部类也必需是static的 */ //////////// /* * 什么时候使用内部类? * 当描述事务时,事物的内部还有事务,钙食物用内部类来描述,因为内部事务在使用外部失误的内容 * 例子:比如人 和 人体的心脏,心脏我就可以定义为内部类,可以设为私有,因为心脏在人的内部, * 他又具体的事务,他也不是谁都可以访问的,可以设为私有,然后用其他方法对外界公开*/ public class InnerClassDemo { public static void main(String [] args){ Outer out=new Outer(); out.method(); //直接访问内部类中的成员(很少这么访问) //Outer.Inner i=new Outer().new Inner(); // i.function(); } } class Outer{ private int x=3; public void method(){ Inner i=new Inner(); i.function(); } class Inner{ //在java中只有内部类能用private修饰 int x=4; public void function(){ // method(); int x=6; System.out.println("内部类方法的X="+x); System.out.println("内部类中的x="+this.x); //当这个function()是静态的时候他会出错 System.out.println("外部类中的x="+Outer.this.x); //当这个内部类static的时候他会出错 } } }
相关文章推荐
- JAVA 内部类的使用
- 【java】内部类
- 内部类和匿名内部类
- 第7章内部类和异常类
- java中内部类和异常类
- 字符串相关类,内部类
- 内部类
- 内部类的作用?1、抽象类中包含一个内部接口如何实现与调用 ;2、接口中包含一个内部抽象类如何调用
- 黑马程序员 Java基础 面向对象:内部类 异常 包 jar包
- 接口回调,用最简单的一个匿名内部类来讲解(附接口回调高级应用场景,让你对接口的了解登堂入室)
- java——内部类
- JavaSE——面向对象:内部类
- 内部类
- List--ArraayList&&LinkedList(嵌套类和内部类)
- 内部类
- 基础巩固--内部类
- 内部类
- 普通内部类的访问规则
- 面向对象内部类与异常
- 内部类详解