`
haoningabc
  • 浏览: 1476788 次
  • 性别: 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内部类:你真得了解方法内部类吗?

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

    Java 内部类

    下面我们将详细探讨成员内部类、方法内部类和静态内部类这三种类型的内部类。 一、成员内部类 成员内部类,顾名思义,就像类的其他成员(如字段和方法)一样,存在于类的主体中。成员内部类可以直接访问外部类的...

    JAVA_内部类_反射机制

    内部类有四种主要类型:成员内部类、静态嵌套类、方法内部类和匿名内部类。 1. 成员内部类:这类内部类就像外部类的成员,可以访问外部类的所有成员,包括私有成员。它们可以有自己的修饰符,但不能是`static`。...

    Class详解内部类等

    内部类分为四种类型:成员内部类、静态嵌套类、方法内部类和匿名内部类。 1. 成员内部类: 成员内部类就像外部类的成员变量一样,可以访问外部类的所有成员。但是,成员内部类不能包含静态成员,因为它们依赖于...

    JAVA语法总结 - 内部类

    3. **方法内部类**(Local Inner Class) 4. **匿名内部类**(Anonymous Inner Class) 这些内部类之间存在一些共性: - **编译后的文件格式**:内部类最终会被编译成独立的`.class`文件,文件名通常为外部类名称...

    java内部类解析.pdf

    内部类主要分为四种类型:成员内部类、静态嵌套类、方法内部类和匿名内部类。 1. 成员内部类 成员内部类如同外部类的成员变量,它可以访问外部类的所有成员,包括私有的。成员内部类不能包含静态成员,因为它们是与...

    JAVA内部类

    内部类(Inner Classes)是定义在另一个类或接口中的类,它们主要分为四种类型:成员内部类、静态嵌套类、方法内部类和匿名内部类。这些内部类在功能上具有一定的共性,同时又各具特色,适用于不同的场景。 **共性...

    Java内部类基础笔记

    本篇笔记将详细介绍Java中的四种内部类:普通内部类、静态内部类、方法内部类以及匿名内部类。 ### A. 普通内部类 普通内部类(也称为成员内部类)是定义在外部类的成员位置,如同字段一样。它们可以直接访问外部...

    Java内部类知识整理.pdf

    - 方法内部类:定义在某个方法内部的类,其生命周期仅限于该方法。 - 匿名内部类:没有名称的内部类,通常用于快速实现接口或抽象类的简短版本。 2. **内部类的特性**: - 编译后,内部类会被编译成独立的`....

    内部类介绍

    本文将详细介绍内部类的种类及其特点,包括成员内部类、方法内部类、匿名内部类和静态嵌套类。 首先,我们要了解为什么需要内部类。内部类的主要用途在于提供封装和抽象的能力,它可以访问外部类的所有成员,包括...

    java内部类总结.pdf

    2. 方法内部类:定义在某个方法内部的类,只在该方法的作用域内可见。 3. 匿名类:没有名称的内部类,通常用于快速实现接口或抽象类的简短实例化。 4. 静态内部类:与普通内部类相比,静态内部类可以独立于外部类的...

    Java内部类语法总结.pdf

    方法内部类可以访问方法的局部变量,但只有当这些变量是final或effectively final时。 - **匿名内部类**:没有名字的内部类,通常用于创建一次性使用的简短类实现,如事件监听器。 2. **成员内部类的实例化**: -...

    Java内部类总结.pdf

    2. **方法内部类**:定义在某个方法内部的类,其生命周期仅限于该方法的执行期间。 3. **匿名内部类**:没有名称的内部类,通常用于简化代码,特别是在需要实现一个接口或继承一个类的简单情况。 4. **静态内部类...

    java内部类解析[归类].pdf

    - **与局部变量的关系**:由于方法内部类的对象可以在方法结束后依然存在,因此它不能访问非`final`的局部变量,因为这些变量在方法执行完毕后会消失。如果需要访问,局部变量必须声明为`final`。 4. **注意事项**...

    Java内部类知识整理[归类].pdf

    根据位置和使用方式,内部类主要分为四种类型:成员内部类、静态嵌套类(静态内部类)、方法内部类和匿名内部类。 1. 成员内部类:这类内部类是作为外部类的成员存在的,与字段和方法处于同一级别。成员内部类的...

Global site tag (gtag.js) - Google Analytics