20175120彭宇辰 《Java程序设计》第六周学习总结

教材学习内容总结

第七章

一、内部类与外部类的关系

1.内部类可以使用外嵌类的成员变量和方法。
2.类体中不可以声明类变量和类方法,外部类可以用内部类声明对象。
3.内部类仅供外嵌类使用。
4.类声明可以使用static修饰,static内部类不能操作外嵌类中的实例成员变量。
注:非内部类不可以是static类。

二、匿名类

-子类相关
-new Bank(){//Bank子类的类体};
-特点
1.可以直接使用父类的方法,也可重写。
2.匿名类一定是内部类。
3.可以使用外嵌类的成员变量和方法。
4.不能声明类变量和类方法。
5.必须使用父类的构造方法。

-接口相关
-new Computable(){//实现接口类的类体};
-重写接口的全部方法

三、异常类

int number=Interger.parseInt("ab89");//将ab89由字符串转为数字,ab无法转化,出现异常
1.try-catch语句
-用法
try{//可能发生异常的语句
}
catch(ExceptionSubClass e){//可以用多个catch,处理不同的异常情况
}
}
-一旦try某一行抛出异常,则try立即终止,跳到相应的catch
-各个catch参数中的异常类都是Exception的某个子类,表示try部分可能发生的异常,这些子类之间不能有父子关系,否则保留一个含有父类参数的catch即可。

2.自定义异常类
-throws
在方法中声明异常并在方法体中给出
-throw
抛出异常对象

四、断言

-发生某个错误,程序终止
1.语法格式
-assert bolleanException;//当bolleanException的值是true时,程序从断言语句处继续执行;值是false时,程序从断言语句处停止执行。
-assert blooeanException:messageException;//当bolleanException的值是true时,程序从断言语句处继续执行;值是false时,程序从断言语句处停止执行,并输出messageException表达式的值。
2.断言语句启用
-java -ea mainClass

第十章

一.File
-创建File对象(三种构造方法)
1.File(String filename)
2.File(String directoryPath,String filename)
3.File(File dir,String filename)
-查看文件属性P282
-创建文件File file=new File("new.txt");
-创建目录:File对象调用方法public boolean mkdir()创建一个目录,成功返回true,否则(该目录已存在)返回false。
-删除文件file.delete();
-运行可执行文件Runtime ec = Runtime.getRuntime();

二.文件字节输入、输出流
-设定输入流的源;
-创建指向源的输入流;
try{
FileInputStream in =new FileInputStream("hello.txt//源")
}
catch(IOException e){
System.out.println("File read error:"+e);
}
-读取源中的数据;
输入流:int read(byte[],int off,int len);//读取len个字节到数组b中,到达文件末尾,返回-1
输出流:void read();
-关闭流;
输入流in.close();
输出流out.close();
PS:字符:
输入流:FileReader();
输出流:FileWriter();

三、缓冲流

-BufferedReader和BufferedWriter类创建的对象称为缓冲输入、输出流,二者增强了读写文件的能力。
-BufferedReader流和BufferedWriter流,二者的源和目的地必须是字符输入流和输出流。
-构造方法BufferedReader(Reader in);``BufferedWriter(Writer out);

四、随机流

-RandomAccessFile类创建的流称为随机流,可以从这个流中读取文件的数据,也可以通过这个流写入数据到文件。
-RandomAccessFile流指向文件时,不刷新文件。

-在例10.3中,找不到执行可运行文件的路径
解决:将windows系统下的路径换成linux的可执行文件路径
(https://gitee.com/uploads/images/2019/0407/224655_7b079272_4787449.jpeg "10.3.jpg")

代码托管:https://gitee.com/pyc-1751/chapter_1_of_java
代码量截图(https://gitee.com/uploads/images/2019/0407/224614_f44109a0_4787449.jpeg "360截图20190407223224021.jpg")!(https://gitee.com/uploads/images/2019/0407/224628_0b5ba834_4787449.jpeg "360截图20190407223307534.jpg")
上周考试错题总结

下列关于实现接口的说法,正确的是
A .一个类需要在类声明中使用关键字implements声明该类实现一个或多个接口。
B .如果一个非抽象类实现了某个接口,那么这个类必须重写这个接口中的所有方法。
C .类重写接口方法时,方法的访问权限一定要明显地用public修饰。
D .子类既可以重写接口中的方法,也可以直接拥有接口中的方法。
-答案为ABCD,我漏选D
-子类既可以重写接口中的方法,也可以直接拥有接口中的方法。

将下列(A,B,C,D)哪个代码替换下列程序中的【代码】不会导致编译错误?

interface Com {

int M = 200;

int f();

}

class ImpCom implements Com {

【代码】

}
A .public int f(){return 100+M;}
B .int f(){return 100;}
C .public double f(){return 2.6;}
D .public abstract int f();
-答案为B???不懂

近期状态总结
这周的任务没有很好的完成。主要是结对编程和其他科目的实验的时间没有安排好,清明节假期的学习计划被打乱,各种任务的实现情况都在我的预期之外。总而言之,这周状态非常不好。希望能通过下一周的学习来弥补。

上一篇:iOS - OC - 网络请求 - 中文转码


下一篇:AOP 面向切面编程, Attribute在项目中的应用