黑马程序员技术交流社区

标题: 【哈尔滨校区】面向对象,集合以及IO流相关知识总结 [打印本页]

作者: 张斯佳    时间: 2018-1-9 09:43
标题: 【哈尔滨校区】面向对象,集合以及IO流相关知识总结
本帖最后由 张斯佳 于 2018-1-9 09:43 编辑

一,面向对象
1、面向对象思想:
           (1)概述:面向对象是相对于面向过程而言的,面向过程强调的是功能,面向对象强调的是将功能封装进对象,强调具备功能的对象;  
           (2)思想特点:   
                    A:是符合人们思考习惯的一种思想;   
                    B:将复杂的事情简单化了;   
                    C:将程序员从执行者变成了指挥者;     
                              比如我要达到某种结果,我就寻找能帮我达到该结果的功能的对象,如我要洗衣服我就买洗衣机,至于怎么洗我不管。
对于做题的时候,一般提到了属性,其实我们就可以理解要把这个定义成成员变量,如果说行为,那么就可以定义成成员方法(这里的方法是不需要加static关键字的).

二,成员变量与局部变量的区别
1、在类中的位置不同
成员变量:在类中方法外面
局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中)
2、在内存中的位置不同,可以看看Java程序内存的简单分析
成员变量:在堆中(方法区中的静态区)
局部变量:在栈中
3、生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用或者代码块的执行而存在,随着方法的调用完毕或者代码块的执行完毕而消失
4、初始值
成员变量:有默认初始值
局部变量:没有默认初始值,使用之前需要赋值,否则编译器会报错(The local variable xxx may not have been initialized)

三,ArrayList集合
如何创建集合对象,只要说到要用结合,那么我就就要创建一个集合:
  ArrayList<> list = new ArrayList<>();
<>里放的是你要存储什么样的类型的元素.
  集合中常用的方法:  添加方法add(E e) 括号中的参数要跟<>里的类型一致,比如<String> 那么add()方法里就要写字符串: add("abc"),如果存储的是自定义的Student类,即<Student>,那么add()方法里存储的就是Student对象,存储之前要先有Student对象,比如  
  Student s = new Student();   这里用空参构造来举例
添加的时候就要 list.add(s);   千万不要忘记这里要用我们创建出来的  集合名(这里是list) 来调用.
然后就是get(int index)方法,遍历集合的时候,你集合中存储的是什么类型的元素,那么调用get(int index)方法就会得到对应类型的元素,比如Student类:  Student s1 = list.get(0); 这里的 0 是索引,不是固定的.


四,IO流
这里咱们只学了  FileWriter  FileReader  BufferedReader  BufferedWriter
如果是读取  那么就是用    FileReader  BufferedWriter
   格式:  FileReader  fw = new FileReader  ("a.txt");

            BufferedReader br = newBufferedReader(new FileReader("FileWriterDemo.java"));

如果是写入  那么就是用     FileWriter  BufferedWriter
               FileWriter fw = newFileWriter("b.txt");

           BufferedWriter bw = new BufferedWriter(new FileWriter  ("FileWriterDemo.java"));
读和写,有两种格式,一个是用高效字符流 就是到Buffered的  ,还有就是普通的字符读写流,如果没有明确要求,一般我们都会用高效流.
            因为BufferedReader 里有读取一行的方法 :  String s = br.readerLine();
                   BufferedWriter 里也有换行的方法: bw.newLine();
一般IO流操作文件的步骤都是: ①创建输入(读取)或者输出(写入)流对象
                                    ②读取文件内容
                                    ③关流
至于其中要把读取出来的内容做什么判断然后再输出,都会在读取文件内容后面执行.







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2