学号 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. cc.Node 的坐标空间与ACTION的学习

    1.创建二维的向量坐标 //创建向量坐标方法一 let new_pos1 = new cc.Vec2(100, 100); //创建向量坐标方法二 let new_pos2 = cc.v2(200, ...

  2. systemd: Started Session 305 of user root.

    方法1: echo 'if ($programname == "systemd-logind" or $programname == "systemd") an ...

  3. Actor消息发送及等待结果关键字

    class Task extends Actor{ override def act(): Unit = { while(true){ receive({ case SmTask(file) => ...

  4. 将LibreOffice文档转换为豆瓣日记

    豆瓣日记的编辑器一直以来都只支持纯文本的,因此无法将原先在LibreOffice中写的带有简单格式的文章导出.由于我在豆瓣主要写一些随笔性的内容,所以它们在LibreOffice中排版时也并未用到什么 ...

  5. HDU 5977 Garden of Eden

    题解: 路径统计比较容易想到点分治和dp dp的话是f[i][j]表示以i为根,取了i,颜色数状态为j的方案数 但是转移这里如果暴力转移就是$(2^k)^2$了 于是用FWT优化集合或 另外http: ...

  6. 3.基于梯度的攻击——PGD

    PGD攻击原论文地址——https://arxiv.org/pdf/1706.06083.pdf 1.PGD攻击的原理 PGD(Project Gradient Descent)攻击是一种迭代攻击,可 ...

  7. 6101 最优贸易 (双向spfa)

    描述C国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的 ...

  8. HDU 4283 You Are the One 【区间DP】

    <题目链接> 题目大意: 有$n$个人排成一排要上台表演,每个人有一个屌丝值$pi$.第i个上台表演的人,他的不满意度为$(i-1)*p_i$.现在有一个类似于栈的黑屋子,你可以让某些人进 ...

  9. XOR UVALive - 8512 -区间线性基合并

    UVALive - 8512 题意 :给出一个包含n个元素的数组A以及一个k,接下来进行q次询问,每次询问给出 l 和 r , 要你求出从A[l] , A[l+1] , A[l + 2],...,A[ ...

  10. Beta(1/7)

    鐵鍋燉腯鱻 项目:小鱼记账 团队成员 项目燃尽图 冲刺情况描述 站立式会议照片 各成员情况 团队成员 学号 姓名 git地址 博客地址 031602240 许郁杨 (组长) https://githu ...