• 包的声明、格式、import导包 局部、构造、静态代码块


    内部类:

    1、概念:

      卸载其他类的内部的类就叫内部类,其他的类被称为外部类。在内部类中可以直接访问外部类的所有成员。

    2、分类:

      成员内部类、局部内部类。

    3、成员内部类:  

      成员内部类,定义在外部类中的成员位置。

    class 外部类 { 
        修饰符 class 内部类 {
            //其他代码
    }
    }

    访问方式:

    外部类名.内部类名 变量名 = new 外部类名().new 内部类名();

    4、局部内部类:

    局部内部类,定义在外部类方法中的局部位置。

    class 外部类 { 
        修饰符 返回值类型 方法名(参数) {
                   class 内部类 {
    //其他代码
                  }
             }
    }

    访问方式:

               在外部类方法中,创建内部类对象,进行访问

    class Party {//外部类,聚会
        public void puffBall(){// 吹气球方法
            class Ball {// 内部类,气球
                      public void puff(){
                          System.out.println("气球膨胀了");
                      }
            }    
    //创建内部类对象,调用puff方法
            new Ball().puff();
        }
    }
    public static void main(String[] args) {
        //创建外部类对象
        Party p = new Party();
        //调用外部类中的puffBall方法
        p.puffBall();
    }

    5、匿名内部类: 

          定义的匿名内部类有两个含义:

              ①、 临时定义某一指定类型的子类;

        ②、 定义后即刻创建刚刚定义的这个子类的对象;

    作用:

      匿名内部类是创建某个类型子类对象的快捷方式。

    new 父类或接口(){
        //进行方法重写
    };

    二、包:

    1、概念:java的包,就是电脑系统中的文件夹,包里存放的是类文件。

    2、声明:

    package 包名.包名.包名…;

    3、访问:           包名.包名….类名

    带有包的类,创建对象格式:

    包名.类名 变量名 = new包名.类名();

    4、导包

    import 包名.类名;

    5、访问修饰符

    ① 仅能在本类中访问使用private修饰

    ②、本包中的类都可以访问不加修饰符即可

    ③、本包中的类与其他包中的子类可以访问使用protected修饰

    ④、 所有包中的所有类都可以访问使用public修饰。

    ⑤、注意:如果类用public修饰,则类名必须与文件名相同。一个文件中只能有一个public修饰的类。

    三、代码块

    1、局部代码块:    定义在方法或语句中

    特点:

    ①、  以”{}”划定的代码区域,此时只需要关注作用域的不同即可(局部代码块内东西不能被外面访问,但可以访问外面东西)

    ②、方法、类都以代码块的方式划定边界的

    2、构造代码块:

       定义在类中成员位置的代码块

    特点:

    ①、优先于构造方法执行,构造代码块用于执行所有对象均需要的初始化动作

    ②、每创建一个对象均会执行一次构造代码块

    3、静态代码块:    定义在成员位置,使用static修饰的代码块。

    static{ 
     };

     特点:

    ①、它优先于主方法、构造代码块,当以任意形式第一次使用到该类时执行。

    ②、 该类不管创建多少对象,静态代码块只执行一次。

    ③、可用于给静态变量赋值,用来给类进行初始化。

  • 相关阅读:
    【bzoj4591】[Shoi2015]超能粒子炮·改 Lucas定理
    【bzoj1604】[Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 旋转坐标系+并查集+Treap/STL-set
    十分钟看懂图像语义分割技术
    命令行执行python模块时提示ImportError: No module named xxx
    python json与字典对象互相转换
    C#中json字符串的序列化和反序列化
    Python当前线程休眠1秒钟
    python之bytes和string
    Win32 基本文件读写操作
    C# 字符串与字节数组相互转换
  • 原文地址:https://www.cnblogs.com/zs0322/p/10915898.html
Copyright © 2020-2023  润新知