zoukankan      html  css  js  c++  java
  • 局部内部类

    1、语法格式

    【修饰符】 class 外部类 【extends 外部类的父类】【implements 外部类的父接口们】 {
        【修饰符】 返回值类型 方法名(【形参列表】){
            【其他修饰符】 class 局部内部类名 【extends 内部类的父类】【implements 内部类的父接口们】{
            }
        }
    }
    public class Outer{
    	public void method(){
            class Inner{
           
        	}  
        }      
       
    }
    

      

    2、特点

    (1)局部内部类也是类,

    A:也有自己的字节码文件:外部类名$编号局部内部类名.class

    B:它可以继承自己的父类,实现自己的父接口们

    C:它可以有自己的各种成员:属性、方法、构造器、代码块、内部类

    注意:不能有静态成员

    (2)局部内部类可以使用外部类的成员

    至于是否可以使用外部类的非静态的成员,要看局部内部类所在的方法是否是静态的,如果是静态的就不能用,其他的可以。

    (3)在外部类中使用局部内部类,要看作用域

    (4)在外部类的外面不能直接使用局部内部类,但是我们可以得到局部内部类的对象

    如何在外部类的外面获取局部内部类的对象?

    interface MyInter{
        
    }
    public class Outer{
    	public Object method(){
            class Inner{
           
        	}  
            return new Inner();
        }     
        public MyInter test(){
            class Inner implements MyInter{
                
            }
            return new Inner();
        }
    }
    
    Outer out = new Outer();
    Object in = out.method();
    MyInter in2 = out.test();
    

      

    (5)局部内部类都可以有什么修饰符

    C:final

    D:abstract

    (6)在局部内部类中可以使用外部类的局部变量,但是这个局部变量必须加final

    因为局部内部类的对象可以被返回到外部类的外面进行使用,如果不是final的,这个局部变量在方法结束后就消失了,那么再通过局部内部类的对象使用这个变量就有问题了。

  • 相关阅读:
    jQuery 选择器
    DOM 文档对象模型+倒计时
    javascript简单写出国际象棋棋盘
    javascript循环语句及函数
    JAVASCRIPT基础
    用纯CSS做的图片切换
    项目练习总结
    用CSS做的简单弹窗
    CSS布局元素
    jQuery属性/CSS使用例子
  • 原文地址:https://www.cnblogs.com/panyizuoshan/p/11460778.html
Copyright © 2011-2022 走看看