内部类的小节

1,一个类定义在另一个类中称为内部类

     1)如果内部类是用public修饰

          public class Outer{

           private String outParam;

             public class Inner{

                 private String innerParam;

                    public void useOut(){

                           UserLoanModel.this.outParam="11";

                         }

                   }

           public void useIn(){

                 Inner inner=new Inner();

                 inner.innerParam="22";

             }

       }

如果想在外部类之外的地方创建一个内部类 则需先有一个外部类的实例

Innersubmit=new Outer().new Inner();

2)如果内部类使用private修饰(只有内部类才能用private修饰,其他类不可以)

 private 表示只对当前作用域有效,也就是在外部类之外是无法使用内部类的,当然也是无法创建其实例的

2,内部类可以访问外部类的成员和方法,外部类也可以访问内部类的成员和方法;

            public void useOut(){

                           Outer.this.outParam="11";

                         }

          public void useIn(){

                  Inner inner=new Inner();

                  inner.innerParam="22";

              }

3,局部内部类 就是指在外部类的成员方法中定义的内部类,相当于成员方法的局部变量,所以不能有修饰符public或是private

    public class OuterClass{

              public void test(){

                   class InnerClass{

                          

                     }

             }

      }

内部类可以访问外部类的方法或是变量,同时还能访问所在成员方法中的局部变量,但是该变量需final修饰。

4,匿名内部类,内部类的作用

    public class outClass{

       public BaseClass getBase(){

         return new BaseClass (){

             public void test(){

                    System.out.prinlnt("test1");

                  }

        }

        }

 

 public BaseClass getBase2(){

         return new BaseClass (){

             public void test(){

                System.out.prinlnt("test2");

                  }

        }

        }

  }

这个内部类没有名字,只是实现了或是继承了BaseClass,并重写或是实现其方法test,内部类所在的方法将新建的对象返回,所以叫匿名内部类。是局部内部类的简化。

 

内部类的意义:无论OutClass继承了什么基类或是接口,可以通过内部类来返回一个指定类型接口或是基类的对象,很好的补充了Java中单继承的限制达到多继承的效果。

### HDFS 小节测验与学习内容 #### 关于 HDFS 的核心概念 HDFS 是 Hadoop 核心组件之一,主要负责分布式环境下的大规模数据存储[^1]。它设计用于运行在通用硬件上的高容错性系统,并提供高吞吐量的数据访问能力。 #### HDFS 基础操作指南 以下是关于 HDFS 的基础操作说明及其对应的命令: 1. **创建目录** 使用 `hadoop fs -mkdir` 创建指定路径的目录。例如,在 `/user/root/` 下创建名为 `testdir` 的目录: ```bash hadoop fs -mkdir /user/root/testdir ``` 2. **上传文件** 可以通过 `hadoop fs -put` 或者 `-copyFromLocal` 将本地文件上传至 HDFS 中。例如,将本地日志文件 `email_log.txt` 上传到 HDFS 路径 `/user/root/`: ```bash hadoop fs -put email_log.txt /user/root/ ``` 3. **复制文件** 在 HDFS 内部进行文件复制可以通过 `hadoop fs -cp` 实现。例如,将 `/demo/test/test.txt` 文件复制到 `/test/temp` 目录下: ```bash hadoop fs -cp /demo/test/test.txt /test/temp/ ``` 4. **下载文件** 如果需要从 HDFS 下载文件到本地,则可使用 `hadoop fs -get` 或 `-copyToLocal` 命令。例如,将 HDFS 上的文件 `/user/root/email_log.txt` 下载到当前工作目录: ```bash hadoop fs -get /user/root/email_log.txt . ``` 5. **删除文件或目录** 删除单个文件或者整个目录可以使用 `hadoop fs -rm` 和 `hadoop fs -rmdir` 命令。需要注意的是,默认情况下会提示确认;加上参数 `-skipTrash` 则直接跳过回收站机制立即删除。 6. **查看文件内容** 查看 HDFS 文件的内容可以直接利用 `hadoop fs -cat` 或其他相关浏览工具完成。比如显示 `/user/root/email_log.txt` 的全部内容: ```bash hadoop fs -cat /user/root/email_log.txt ``` 7. **退出安全模式** 当集群处于安全模式时,某些写入类的操作会被禁用。此时可通过如下指令解除限制以便正常执行后续任务: ```bash hadoop dfsadmin -safemode leave ``` 8. **启动服务节点** 开始任何实际动手实践之前,请确保已经成功启用了 NameNode、DataNode 和 SecondaryNameNode 等必要角色的服务进程。这通常由脚本 `start-dfs.sh` 自动处理完毕[^4]。 #### 测验题目示例 为了检验对以上知识点的理解程度,这里给出几个简单的问答形式练习题供参考: 1. 描述什么是 HDFS?它的主要用途是什么? 2. 如何向 HDFS 添加一个新的子目录结构并验证其存在状态? 3. 给定一个位于本地磁盘中的文本文档,请写出具体步骤将其迁移到远程 HDFS 平台之上。 4. 阐述如何实现两个不同位置之间已存在的资源互换动作(即交换源目标两者的位置关系)。 5. 解释为什么有时候我们需要手动干预来关闭系统的保护屏障——也就是所谓的“离开安全模式”。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值