学号 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. 切换Allegro PCB Editor

    操作系统:Windows 10 x64 工具1:Allegro PCB Editor 菜单File > Change Editor... 在Product Choices对话框中,就可以选择想要 ...

  2. JDK配置环境变量不成功的原因

    根据自己配置环境变量遇到的问题进行总结: 1.二次安装需要注意的问题 由于已经安装了一次的原因,此时的注册表已经有了安装记录. 建议删除jdk的记录 首先打开注册表 开始菜单→运行.或者直接键盘按下W ...

  3. add, subtract, multiply, divide

    加.减.乘.除:add, subtract, multiply, divide

  4. docker 安装mongo

    1.docker安装参考docker官网教程 2.docker中获取mongo镜像 sudo pull mongo 3.通过run命令新建/启动容器,容器名称为mongo,本地宿主机如果27017端口 ...

  5. Vs2017 typescript 开发小问题

    最近想写点ts的东西,以前用vs2015很方便,直接创建一个ts app项目就折腾了. Vs2017打开,居然发现这个项目模板不见了.   于是研究了一下,由于原来的ts app项目就是一个asp.n ...

  6. session 存到memcache里

    web服务器的php session都给memcached ,这样你不管分发器把 ip连接分给哪个web服务器都不会有问题了,配置方法很简单,就在php的配置文件内 增加一条语句就可以了,不过前提你需 ...

  7. jQuery 对象 等操作

    /////////////////////下面为文件夹重命名功能区///////////////////////// $(".wpul .rename").click(functi ...

  8. 如何使用RestTemplate访问restful服务

    一. 什么是RestTemplate 传统情况下在java代码里访问restful服务,一般使用Apache的HttpClient.不过此种方法使用起来太过繁琐.spring提供了一种简单便捷的模板类 ...

  9. CSS入门介绍(二)CSS选择器

    css选择器 什么是选择器? 选择器是你构造好网页的结构,需要给这些结构赋予样式,这时候就需要用到选择器,利用选择器将元素与样式一一对应:两者的对应关系可以是一对一,一对多,多对一. 选择器的分类: ...

  10. priority_queue和sort应用

    #include"iostream" #include"String" #include"stdio.h" #include "s ...