`
haoningabc
  • 浏览: 1451827 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

方法内部类

    博客分类:
  • java
阅读更多
http://www.cnblogs.com/fishert/archive/2008/04/24/1169801.html
取数算法dp

关于内部类http://www.iteye.com/topic/442435写的比较好。
桥接模式,用于多继承,名称为类名$内部类名.class,
嵌套类
static的内部类就叫做嵌套类
使用关键字.this与.new
内部类与向上转型
  将内部类向上转型为基类型,尤其是接口时,内部类就有了用武之地。
方法内的类
  可以在方法内创建一个类
方法内创建的类,不能加访问修饰符。
  另外,方法内部的类也不是在调用方法时才会创建的,它们一样也被编译了
匿名内部类
在匿名内部类中, 如果使用到了这个参数,那么这个参数就必须是final的。
由于类是匿名的,自然没有构造器,如果想模仿构造器,可以采用实例初始化({})
嵌套类
static的内部类就叫做嵌套类
前面提到了很多次,嵌套类是个例外
使用嵌套类时有两点需要注意:
   a、创建嵌套类对象时,不需要外围类
   b、在嵌套类中,不能像普通内部类一样访问外围类的非static成员


转自http://blog.csdn.net/yakihappy/archive/2009/03/11/3979849.aspx
从上面的例程我们可以看出定义在方法内部的内部类的可见性更小, 它只在方法内部可见, 在外部类(及外部类的其它方法中)中都不可见了.同时,方法内的内部类只能访问所在方法的final型成员.同时另一个需引起注意的是方法内部定义成员, 只允许final修饰或不加修饰符, 其它像static等均不可用.
package inner;
public class FunOuter
{
   int out_x = 100;
   public void test(){
     class Inner{
       String inner_x = "x";
       void display(){
         System.out.println(out_x);
       }
     }
     Inner inner = new Inner();
     inner.display();
   }
   public void showStr(String str)  {
     // public String str1 = "test Inner";// 不可定义, 只允许final修饰
     // static String str4 = "static Str";// 不可定义, 只允许final修饰
     String str2 = "test Inner";
     final String str3 = "final Str";
     class InnerTwo{
       public void testPrint(){
         System.out.println(out_x);  // 可直接访问外部类的变量
         // System.out.println(str); // 不可访问本方法内部的非final变量
         // System.out.println(str4); // 不可访问本方法内部的非final变量
         //System.out.println(str2);// 不可访问本方法内部的非final变量
         System.out.println(str3); // 只可访问本方法的final型变量成员
       }
     }
     InnerTwo innerTwo = new InnerTwo();
     innerTwo.testPrint();
   }
   public void use()  {
     // Inner innerObj = new Inner();//此时Inner己不可见了
     // System.out.println(Inner.x);//此时Inner己不可见了
   }
   public static void main(String[] args){
     FunOuter outer = new FunOuter();
     outer.test();
   }
}



http://www.enet.com.cn/article/2007/1029/A20071029886398.shtml
认识理解Java中native方法 jni
1.访问控制修饰符
   分别有:public private protected,缺省
2.其它修饰符
  分别有:abstract,final,static,native,synchronized,transient,volatile等




分享到:
评论

相关推荐

    Java内部类:你真得了解方法内部类吗?

    文章目录Java内部类:你真得了解方法内部类吗?普通内部类方法内部类匿名内部类静态内部类参考Thinking in Java Java内部类:你真得了解方法内部类吗? java内部类,相信很多人都使用过内部类,新建线程使用的匿名...

    JAVA语法总结 - 内部类

    内部类分为成员内部类、静态嵌套类、方法内部类、匿名内部类。 几种内部类的共性: A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。 B、内部类不能...

    Java 内部类

    Java 的使用 分别介绍了 成员内部类、方法内部类、静态内部类

    fenghaotong#spark#5扩大内部类作用域的2种方法、内部类获取外部类引用1

    扩大内部类作用域的2种方法、内部类获取外部类引用扩大内部类作用域的2种方法内部类的作用域:外部类对象val students = new ArrayBuffer

    14.java局部内部类(方法中类).zip

    14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14.java局部内部类(方法中类).zip14...

    java 内部类使用(内部匿名类)

    java 成员内部类使用 内部匿名类 方法参数匿名类 方法匿名类

    Handler对象中使用匿名内部类或非静态内部类正确地释放消息避免内存泄漏或增加Native内存

    Handler对象中使用匿名内部类或非静态内部类正确地释放消息避免内存泄漏或增加Native内存,在Android中,Handler对象通常会被用来在主线程(UI线程)中处理消息,以更新UI界面。当我们在Handler对象中使用匿名内部类...

    几行代码带你彻底搞懂Java内部类

    在一个类体中可以出现的内容:成员变量、成员方法、构造方法、构造块、静态语句块、静态变量、方法、内部类 嵌套类 内部类(成员内部类、局部内部类、匿名内部类) 静态嵌套类 语法格式 class 外部类类名{ class ...

    java基础第七章内部类与异常类.doc

    java基础第七章内部类与异常类.doc

    JAVA内部类总结

    JAVA内部类的一些总结

    java中的内部类内部接口详解

    文章目录简介内部类静态内部类非静态内部类静态方法内部类非静态方法的内部类匿名类内部接口总结 简介 一般来说,我们创建类和接口的时候都是一个类一个文件,一个接口一个文件,但有时候为了方便或者某些特殊的原因...

    java 利用反射获取内部类静态成员变量的值操作.docx

    java 利用反射获取内部类静态成员变量的值操作.docx

    编程语言-Java语言-关于内部类的分类和认识

    Java语言中的内部类根据...局部内部类是定义在方法或作用域内的类;匿名内部类是没有命名的内部类,通常用于实现接口或继承父类;静态内部类是定义在类的内部且与类的实例无关的类。以上是对内部类的简要分类和认识。

    内部类的使用

    介绍一些内部类的使用方法,方便大家查阅。通时还有一些入门的stream操作。摘要必须大于50个字节!

    Android编程之匿名内部类与回调函数用法分析

    主要介绍了Android编程之匿名内部类与回调函数用法,结合实例形式分析了Android编程中所涉及的java匿名内部类与回调函数的概念、定义、使用方法与相关注意事项,需要的朋友可以参考下

    Java中内部类的实例化

    Java 内部类 实例化 在Outer类的静态方法中实例化内部类 在同一个包的其它类中实例化Outer类中的内部类

    有关JAVA的内部类的好东西

    有关JAVA的内部类的好东西,彻底明白内部类,呵呵

    java(Day12)---内部类

    在该内部类所在的外部类的普通方法中创建该内部类对象 可以使用this作为外部类对象 This.new内部类类名(实参列表); 此时this可以忽略不写,所以可以简写为new 内部类类名(实参列表); 当外部类属性与内部类属性重名时...

    JAVA常用类与内部类

    3、局部内部类:定义在方法中的类,作用范围只在当前方法中。 4、匿名内部类:特殊的局部内部类,没有类名,只能作为子类出现且只能创建一个对象。 Object类 Object类有什么特点? Object类是所有类的父类(超类,...

    java内部类的使用

    2)当我们建立一个inner class时,其对象就拥有了与外部类对象之间的一种关系,这是通过一个特殊的this reference形成的,当内部类的成员方法中访问某个变量/方法时,如果在该方法和内部类中都没有定义过这个变量,...

Global site tag (gtag.js) - Google Analytics