JAVA语言之详细解读内部类、包及代码块
从安 2019-06-05 来源 : 阅读 858 评论 0

摘要:本篇文章主要讲述JAVA语言之详细解读内部类、包及代码块,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

本篇文章主要讲述JAVA语言之详细解读内部类、包及代码块,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

JAVA语言之详细解读内部类、包及代码块

个人通俗理解:

  1、内部类:有点类似于写在父类中的子类,根据位置不一样为不同的名字,和相应的访问方式不同;不过要访问外部类的话,需要充分运用好this(本类)的这个关键字;要是需要快速的创建子类对象的话,可以用到匿名内部类。

  2、包:其实就是个放类的文件夹,当需要用的别的包里的类的时候,则需要导包。不过存在四种不同的修饰符,则对应四种访问权限(default只是理论上的,实际上是不需要写的,直接默认了)

  3、代码块:按优先级的话,静态代码块的肯定在第一次使用的时候就执行这唯一的一次了,一般都是用在初始化的时候。定义在类中成员位置的构造代码块也是在创建对象的时候优于构造方法执行一次。而局部代码块则是定义在方法中的,它不能被外界访问的,但可以在其内部访问外界的。(存在即是合理的,先理解下)

一、内部类:

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、访问修饰符:


public

   

protected

   

Default

   

private

   

同一类中

   

   

   

   

   

同一包中(子类与无关类)

   

   

   

   

不同包的子类

   

   

   

不同包中的无关类

   

   

①、  要想仅能在本类中访问使用private修饰;

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

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

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

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

三、代码块

1、局部代码块:

    局部代码块是定义在方法或语句中

  特点:

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

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

2、构造代码块:

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

特点:

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

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

3、静态代码块:

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

static{

 };

 

特点:

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

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

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


本文由职坐标整理发布,学习更多的相关知识,请关注职坐标IT知识库!

本文由 @从安 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程