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

    /**嵌套:一个类嵌套着另一个类
     * 变量和方法以外我们还可以在类中定义一个类
     * 这个类就是内部类
     */
    public class Outer {
        int a=1;
        public void a(){
            System.out.println("外部类a方法");
        }
        class Inner{
            int b=1;
            public void b(){
                System.out.println("内部类b方法");
            }
    
        }
    
    }
    -------------------------------------------------------------
    • 创建内部类的对象:

    1. 没有父类就没有没有子类,内部类与外部类也一样,要想创建内部类的对象那么就必须将外部类的对象创建出来,再由外部类的对象创建出内部类的对象

    2. 创建内部类对象的两种写法:

    public class Test {
    public static void main(String[] args){
    
    
    //创建内部类对象的第一种写法
    Outer.Inner inner=new Outer().new Inner();
    //创建内部类的第二种写法:先创建外部类对象,然后由外部类的对象去创建内部类的对象
    Outer outer=new Outer();//创建了外部对象
    Outer.Inner inner1=outer.new Inner();//创建内部的对象
    
    }
    • 关于this和内部类外部类变量的引用
    public class Outer {
        /**
         * 嵌套:一个类嵌套着另一个类
         * 变量和方法以外我们还可以在类中定义一个类
         * 这个类就是内部类
         */
    //    加上权限修饰符private时,内部类也可以使用
        private int a = 1;
    
    
        public void a() {
            int a=6;
            System.out.println("外部类a方法\n"+"外部类的a="+this.a+"\n方法a()a中的a=" +a);
            System.out.println("--------------------------------------------------------------------");
        }
    
        class Inner {
            int a = 3;
            public void b() {
                int a=4;
    //            不加任何描述的时候根据就近原则调用离他最近的变量
                System.out.println("内部类中方法b中的值--就近原则直接调用="+a);
    //            this. 表示调用到该Inner类中的a
                System.out.println("本类中的a---用this.调用="+this.a);
    //            Outer.this.a 用来调用外部类Outer中的a
                System.out.println("外部类的a----Outer.this.a="+Outer.this.a);
    
            }
        }
    
    }
     
  • 相关阅读:
    Apollo配置中心环境搭建(Linux)
    SpringBoot整合Swagger2
    DevExpress ASP.NET v18.2新功能详解(四)
    UI控件Telerik UI for WinForms发布R1 2019|附下载
    DevExpress WinForms使用教程:Data Grid
    开发框架DevExtreme全新发布v18.2.6|附下载
    DevExpress ASP.NET v18.2新功能详解(三)
    .NET界面控件DevExpress全新发布v18.2.6|附下载
    DevExpress WinForms使用教程:图表控件
    VCL界面控件DevExpress VCL Controls发布v18.2.4|附下载
  • 原文地址:https://www.cnblogs.com/zhaiyaohua/p/5799790.html
Copyright © 2011-2022 走看看