首页 > 其他分享 >内部类

内部类

时间:2023-06-01 22:55:37浏览次数:32  
标签:部类 Outer 内部 局部 n1 class

语法:

  class Outer{//外部类

      class Inner{//内部类

      }

  }

  class Other{外部其他类

  }

类中的五大成员:

  属性、方法、构造器、代码块、内部类

 

内部类的分类(四种):

  a. 定义在外部类局部位置上(如在大括号里{},像方法、代码块)

    1. 局部内部类(有类名)

    2. 匿名内部类(没有类名)

  b. 定义在外部类的成员位置上(和属性、方法等位置相同)

    1. 成员内部类(没有static修饰)

    2. 静态内部类(有static修饰)

局部内部类:

public class LocalInnerClass{//5. 其他外部类不能访问局部内部类,即不能在这里实例化局部内部类对象
    public static void main(String[] args){
        Outer outer = new Outer();
        outer.m1();//调用m1方法,会实例化局部内部类inner,然后会调用f1方法
    }
}
class Outer{//外部类
    private int n1 = 10;
    public void m2(){
        System.out.println("Outer m2()...");
    }
    public void m1(){
        private int n1 = 80;
        //2. 局部内部类不能添加访问修饰符,但可以用final修饰,添加后就不能被其他内部类继承了
        //3. 作用域:局部内部类仅仅在定义它的方法或代码块中,在其他地方就使用不了
        class Inner{//局部内部类(本质还是一个类)
            public void f1(){
                System.out.println("n1="+n1 + "我i部内的n1="+Outer.this.n1);//1. 可以直接访问外部类的所有成员,包括私有的
                                            //6. 如果外部类和局部内部类的成员重名时,默认遵循就近原则,
                                            //如果要想使用外部类的成员,可以用 外部类.this.成员 来访问
                m2();
            }
        }
        //4. 外部类怎么访问局部内部类?在外部类的方法中,可以创建Inner对象,然后再调用内部类的方法
        Inner inner = new Inner();
        inner.f1();
    }
}

匿名内部类:

 

标签:部类,Outer,内部,局部,n1,class
From: https://www.cnblogs.com/zj-studyrecoding/p/17450486.html

相关文章

  • 什么是内部链接
    内部链接部分列出所有页面的内部链接数。站长从这里可以大致判断网站内部链接结构是否有重大缺陷。如果全站主导航中出现的分类首页内部链接数非常低,很可能说明导航系统有问题。内部链接数的另一个作用是反映出网站收录页面数。Google的site:指令也不太准确,而且现在越来越不准确,经常......
  • C++ 在函数内部输出当前类名方式
    开发环境:QtCreator C++1usingnamespacestd;23/*基类汽车*/4classCar5{6public:7Car(){}8virtual~Car(){}9virtualvoidmove(void);10};1112/*基本属性汽车运动*/13voidCar::move(void)14{15cout<<......
  • 匿名内部类详细写法
        ......
  • 静态内部类,局部内部类
        ......
  • 内部类
        ......
  • JAVA的内部类
    JAVA的内部类写在一个类里面的类就叫内部类分类成员内部类:写在成员位置的,属于外部类的成员静态内部类:是一种特殊的成员内部类局部内部类:将内部类定义在方法里面匿名内部类:隐藏了名字的内部类,可以写在成员位置也可以写在局部位置获取成员内部类的两种方法当成......
  • 4、深入分析hystrix执行时的8大流程步骤以及内部原理
    前面了解了Hystrix最基本的支持高可用的技术:资源隔离 + 限流。创建command;执行这个command;配置这个command对应的group和线程池。开始执行这个command,调用了这个command的execute()方法之后,Hystrix底层的执行流程和步骤以及原理是什么1、构建一个Hystri......
  • EBS实践—PO内部申请自动接收入库
    declareCURSORcur_req_dataISSELECTprl.*FROMpo_requisition_lines_allprl,po_requisition_headers_allprhWHEREprh.requisition_header_id=prl.requisition_header_idANDprl.requisition_line_id=p_requ......
  • 2023年5月22日,内部类,类加载机制
    内部类1.成员内部类packageoutter_inner_01;importoutter_inner_01.Outter.Inner;publicclasstest01{/***知识点:成员内部类**需求:创建成员内部类的对象,并调用其方法**小结:* 1.外部类和内部类不属于继承关系* 2.创建......
  • 【CSS】div宽度由内部文字宽度决定
    默认div的宽度会占满全屏或由父级决定使用  width:fit-content;可以解决前后对比前:后: ......