ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2019-05-24 08:53:35  阅读:207  来源: 互联网

标签:包名 部类 内部 代码 访问 导包 格式 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{ 
 };

 特点:

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

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

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

 

标签:包名,部类,内部,代码,访问,导包,格式,import,类名
来源: https://www.cnblogs.com/zs0322/p/10915898.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有