教材学习内容总结

第七章:内部类与异常类

  • 内部类:java支持在类中定义另一个类,这个类为内部类,包含内部类的类称为外嵌类。
  • 理解内部类与外嵌类。
  • Java编译器生成的内部类的字节码文件为“外嵌类名$内部类名”
  • 与子类有关的匿名类:Java允许直接使用一个类的子类的类体创建一个子类对象,此类体被认为是一个子类去掉类声明后的类体,称作匿名类。
  • 与接口有关的匿名类:Java允许直接用接口名和一个类体创建一个匿名对象,此类体被认为是实现了Computer接口的类去掉类声明后的类体,称为匿名类。
  • 异常类:Java允许定义方法时声明该方法调用过程中可能出现的异常,就允许方法调用过程中抛出异常对象,终止当前方法的继续执行。
  • try-catch语句:处理异常。格式如下:
try {
包含可能发生异常的语句
}
catch (ExceptionSubClass1 e) {
发生异常后的处理
}
catch (ExceptionSubClass2 e) {
发生异常后的处理
}
  • 自定义异常类:编写程序时可以扩展Exception类来定义自己的异常类,然后根据程序的需要来规定哪些方法产生这样的异常。
  • throw是Java的关键字,作用是抛出异常。throws和throw是两个不同的关键字
  • 一个方法在声明时,可以使用throws关键字声明要产生的若干个异常,并在方法的方法体中具体给出产生异常的操作,即用相应的异常类创建对象,并使用throw关键字抛出该异常对象。
  • 断言:一般用于程序不准备通过捕获异常来处理的错误。语法格式为: 
    assert booleanExpression;

    或者为:

    assert booleanExpression:messageException;
  • 启用与关闭断言语句:调试程序时可以使用-ea启用断言语句如:
    java -ea mainClass

    第十章:输入、输出流

    • java.io包(I/O流库)提供大量的流类。输入流为:抽象类InputStream(字节输入流),抽象类Reader(字符输入流)的子类;输出流为:抽象类OutStream(字节输出流),抽象类Write(字符输出流)的子类。
    • Filel类:File类的对象主要用来获取文件本身的信息。创建一个File对象的构造方法为:
    1. File(String filename);
      File(String directoryPath,String filename);
      File(File dir,String filename);
    2. 其中,filename是文件名字,directoryPath是文件的路径,dir为一个目录。使用File(String filename)创建文件时,该文件被认为与当前应用程序在同一个目录中。
    • 文件的属性:常用File类的下列方法获取文件本身的信息。
    1. public String getName()
      public boolean canRead()
      public boolean canWrite()
      public boolean exists()
      public long length()
      public String getAbsolutePath():获取文件的绝对路径。
      public String getParent()
      public boolean isFile()
      public boolean isDirectory
      public boolean isDiractory
      public boolean isHidden()
      public long lastModified():获取文件最后的修改时间
    • 目录:
    1. 创建目录:File对象调用方法创建一个目录。
    2. 如果File对象是一个目录则:public String []list()用字符串形式返回目录下的全部文件;public File[]listFiles()用File对象形式返回目录下的全部文件
    3. FilenameFilter是一个接口,该接口有一个方法:
      public boolean accept(File dir,String name);

      需要调用时在()里加上FilenameFilter obj

    • 文件的创建与删除:使用File创建一个文件对象

      File file=new File("c:\\myletter","letter.txt");
    • 运行可执行文件
    1. 声明一个对象:

      Runtime ec;
    2. 创建对象:
      ec = Runtime.getRuntime();

      学习中的问题和解决过程

问题:编译Example7_2时出现如下问题

解决方法:习惯性写了println,这里应该是printf

代码托管

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时  
第一周 31/31 1/1 8/8  
第二周 250/281 1/2 8/16  
第三周 586/867 1/3 15/31  
第四周 450/1317 1/4 9/40

第五周 251/1568 2/6 5/45  
 第六周  972/2540  1/7  10/55  

20175224 2018-2019-2 《Java程序设计》第六周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  4. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  5. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  6. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  7. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  8. 20145237 《Java程序设计》第九周学习总结

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

  9. 20175209 《Java程序设计》第九周学习总结

    20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...

  10. 20175313 张黎仙《Java程序设计》第九周学习总结

    目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...

随机推荐

  1. 小程序之带参数跳转到tab页

    wx.switchTab({ url: '../../message/message/message', }) //wx.switchTab url不能带参数 解决方法⬇️ (紫色表示非固定需要自己更 ...

  2. mysql查询表是否存在

    查询表是否存在 SHOW TABLES LIKE "表名" tp5查询表是否存在 Db::query('SHOW TABLES LIKE "表名"');

  3. CentOS6.9切换root用户su root输入正确密码后一直提示Incorrect password,如何解决?

    su是切换用户命令,su root时,输入正确的root命令,却提示Incorrect password,当前用户为普通用户,遇到此问题该如何解决呢? 如果设置了wheel组,使用su root命令是 ...

  4. 添加本地nuget包

    1.找到vs工具栏,如下图所示,找到包管理器 2.点击添加按钮,添加源,点击下方浏览按钮,找到源得位置,然后点击更新 3.找到项目,切换包源,切换到包管理器得浏览页面,找到要添加得包安装即可.

  5. [ZJOI2019]麻将

    这是一道麻将自动机的模板题(雾 其实这是一道dp套dp借助自动机实现的麻将好题! 首先把期望转化一下,拆成sigema p(x>i) 现在要计算i张牌不胡的概率,也就等价于计算i张牌不胡的方案数 ...

  6. SWUST OJ(1101)

    顺序表中的数据的循环移动 #include <iostream> #include <cstdlib> using namespace std; int main() { in ...

  7. istio sidecar自动注入过程分析

    目录 istio sidecar自动注入过程分析 sidecar自动注入检查 检查kube-apiserver 检查sidecar-injector的configmap 检查namespace标签 s ...

  8. ThinkPHP5.0源码学习之缓存Cache(一)

    一.文件 1.缓存配置文件:thinkphp\convention.php 2.缓存文件:thinkphp\library\think\Cache.php 3.驱动目录:thinkphp\librar ...

  9. 洛谷P1439 【模板】最长公共子序列

    题目描述 给出1-n的两个排列P1和P2,求它们的最长公共子序列. 输入输出格式 输入格式: 第一行是一个数n, 接下来两行,每行为n个数,为自然数1-n的一个排列. 输出格式: 一个数,即最长公共子 ...

  10. vim 插件 -- taglist

    taglist 插件是基于ctags生成的tags文件一个工具.主要是用来生成当前文件的结构.如:函数名.变量名结构.具体如下图: 下载 https://www.vim.org/scripts/scr ...