学号 20175201张驰 《Java程序设计》第6周学习总结

教材学习内容总结

第7章

·1.Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类称为内部类的外嵌类

·2.和某类有关的匿名类就是该类的一个子类,该子类没有明显地用类声明来定义,所以称作匿名类。

·3和某接口有关的匿名类就是实现该接口的一个类,该子类没有明显的使用类声明来定义,所以称作匿名类。

·4java的异常可以出现在方法调用过程中,即在方法调用过程中抛出异常对象,将可能出现的异常操作放在try-ctach语句的try部分,当try部分中的某个方法调用发生异常后,try部分将立刻结束执行,转向执行相对应的catch部分

·5非内部类不可以是static类

第10章

·1所有输入流类都是抽象类InputStream(字节输入流)或者是抽象类Reader(字符输入流)的子类

·2所有输出流都是抽象类OutputStream(字节输出流)或者是Writer(字符输出流)的子类

·3InputStream类是字节输入流的抽象类,是所有字节输入流的父类

·4Reader类是字符输入流的抽象类,所有字符输入流的实现都是它的子类

·5OutputStream类是字节输入流的抽象类,此抽象类表示输出字节流的所有类的超类

·6Writer类是字符输出流的抽象类,所有字符输出类的实现都是它的子类

教材学习中的问题和解决过程

  • 问题1:内部类和外嵌类的重要关系

  • 问题1解决方案:

    总结:

    A内部类的外嵌类的成员变量在内部类中仍然有效, 内部类中的方法也可以调用外嵌类中的方法

    B内部类的类体重不可以声明类变量和类方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员

    C内部类仅供他的外嵌类使用,其他类不可以用某个类的内部类声明对象。

  • 问题2:匿名类

  • 问题2解决方案:

    1. 使用匿名内部类时,我们必须是继承一个类或者实现一个接口,但是两者不可兼得,同时也只能继承一个类或者实现一个接口。
    2. 匿名内部类中是不能定义构造函数的。
    3. 匿名内部类中不能存在任何的静态成员变量和静态方法。
    4. 匿名内部类为局部内部类,所以局部内部类的所有限制同样对匿名内部类生效。
    5. 匿名内部类不能是抽象的,它必须要实现继承的类或者实现的接口的所有抽象方法。
  • 问题3:FileInputStream流的read方法和FileReader流的read方法有什么不同?

  • 问题3解决方案: FileInputStream:以字节流方式读取;

FileReader:把文件转换为字符流读入;

InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。用Reader读取出来的是char数组或者String,使用InputStream读取出来的是byte数组

Reader类及其子类提供的字符流的读取char,InputStream及其子类提供字节流的读取byte,所以FileReader类是将文件按字符流的方式读取,FileInputStream则按字节流的方式读取文件;InputStreamReader可以将读如stream转换成字符流方式,是reader和stream之间的桥梁

课后练习

7-3(1)大家好,祝工作顺利!

class Cry {

public void cry() {

System.out.println("大家好");

}

}

public class E {

public static void main(String args[]) {

Cry hello = new Cry() {

public void cry() {

System.out.println("大家好,祝工作顺利");

}

};

hello.cry();

}

}

(2)p是接口变量。

interface Com{

public void speak();

}

public class EE {

public static void main(String args[]) {

Com p= new Com() {

public void speak() {

System.out.println("P是接口变量");

}

};

p.speak();

}

}

(3)你好 fine thanks。

import java.io.IOException;

public class EEE {

public static void main(String args[]) {

try { methodA();

}

catch(IOException e) {

System.out.print("nihao");

return;

}

finally {

System.out.println("fine thanks");

}

}

public static void methodA() throws IOException {

throw new IOException();

}

}

(4)

4.编程题

import java.util.*;

public class E {

public static void main (String args[ ]){

  Scanner reader = new Scanner(System.in);

  double sum = 0;

   int m = 0;

   while(reader.hasNextDouble()){

       double x = reader.nextDouble();

       assert x< 100:"数据不合理";

       m = m+1;

       sum = sum+x;

   }

   System.out.printf("%d个数的和为%f\n",m,sum);

   System.out.printf("%d个数的平均值是%f\n",m,sum/m);

}

}

代码托管

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 4000行 30篇 400小时
第五周 3870 77/7 10 linux学习

·

学号 20175201张驰 《Java程序设计》第6周学习总结的更多相关文章

  1. 学号 20175329 2018-2019-3《Java程序设计》第九周学习总结

    学号 20175329 2018-2019-3<Java程序设计>第八周学习总结 教材学习内容总结 第十五章 泛型 可以使用"class 名称"声明一个类,为了和普通的 ...

  2. 学号:201521123116 《java程序设计》第二周学习总结

    1. 本章学习总结 一:学习了string的类型,string的对象是不可变的,创建之后不能再修改 二:SET PATH/CLASSPATH和-cp的用法. 三:学习了Java API 文档的使用方法 ...

  3. 学号:201521123116 《java程序设计》第九周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己 ...

  4. 学号:201521123116 《java程序设计》第一周学习总结

    #1. 本章学习总结了解了班级的纪律和期末成绩组成.本周重点学习了java语言的特点具有简单性和结构中立.明白了jdk是java开发人员使用的一种工具,以及编写一个java程序的所需步骤,懂得了jdk ...

  5. 2018-2019-3《Java程序设计》第二周学习总结

    学号20175329 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结      第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨 ...

  6. 学号 20175201张驰 《Java程序设计》第8周学习总结

    学号 20175201张驰 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章 知识总结: 1.泛型类声明:可以使用"class 名称"声明一个类,例如:c ...

  7. 学号 20175201张驰 《Java程序设计》第7周学习总结

    学号 20175201张驰 <Java程序设计>第7周学习总结 教材学习内容总结 第八章 String类能有效地处理字符序列信息,它的常用方法有: public int length()可 ...

  8. 学号 20175201张驰 《Java程序设计》第5周学习总结

    学号 20175201张驰 <Java程序设计>第5周学习总结 教材学习内容总结 第六章 ·1.接口的接口体中只可以有常量和abstract方法. ·2.和类一样,接口也是Java中一种重 ...

  9. 学号 20175201张驰 《Java程序设计》第4周学习总结

    学号 20175201张驰 <Java程序设计>第4周学习总结 教材学习内容总结 第5章 继承:避免多个类间重复定义共同行为,用我们已经有的类,去创建新的类 任何子类都可以继承它的父类的成 ...

随机推荐

  1. javascript中数组的方法

    数组的方法 1.concat():连接两个或多个数组 2.indexOf(arg): ​ 查找数组中的arg元素,如果没有,则返回-1,如果有,则返回该元素的最小下标 ​ lastIndexOf(ar ...

  2. 《剑指offer》把数组排成最小的数

    本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:

  3. vmware虚拟机使用静态IP上网的方法

    本文转自:https://www.cnblogs.com/flyfish919/p/7083523.html 作者:云里有棵树 我的物理机使用的是路由wifi,然后虚拟机使用静态IP上网的方法总结如下 ...

  4. 集群环境下的Session共享

    一.Cookie机制和Session机制回顾 1)定义:Session成为“会话”,具体是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间.Session ...

  5. POJ 1185 炮兵阵地 【状压DP】

    <题目链接> 题目大意: 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队.一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平 ...

  6. vscode断点调试本地客户端文件

    一.安装chrome,安装vscode,打开vscode编辑器,安装插件Debugger for Chrome 二.新建文件 1.目录结构 . ├── index.html ├── index.js ...

  7. Windows API教程文件系统

    本篇文章主要介绍了"Windows API教程文件系统",主要涉及到Windows API教程文件系统方面的内容,对于Windows API教程文件系统感兴趣的同学可以参考一下. ...

  8. http连接基础类,负责底层的http通信

    /// <summary> /// http连接基础类,负责底层的http通信 /// </summary> public class HttpService { public ...

  9. UWB DWM1000 智能跟踪小车 --[蓝点无限]

    蓝点DWM1000 模块已经打样测试完毕,有兴趣的可以申请购买了,更多信息参见 蓝点论坛 UWB 智能跟踪小车:一共三个UWB模块,手持一个,小车上两个. 通过测量小车上两个模块与手持模块之间的距离, ...

  10. [jzoj]3456.【NOIP2013模拟联考3】恭介的法则(rule)

    Link https://jzoj.net/senior/#main/show/3456 Description 终于,在众亲们的奋斗下,最终boss 恭介被关进了库特设计的密室.正当她们松了一口气时 ...