复习Java知识

2019-02-04  本文已影响17人  小星star

2019.2.3 复习一下java

第一章

  1. 命令行工具
    javac  源文件名.java
    java   类名
    
  2. IDE 和编辑器的区别
  3. image.png
    image.png
  4. String类常用方法
    +、subString、length()、charAt()、indexOf()、trim()、replace()、equals()、equalsIgnoreCase()
  5. 面向过程 和 面向对象 的区别
    我觉得主要是 对数据有了保护;代码的复用性也更高。


    image.png
  6. 包名小写package corejava;
  7. 继承
    子类将继承父类成员,但不能直接访问父类private成员
    继承的特点:
    子类对父类可做拓展和特殊化
    • 添加新的成员:成员变量和方法
    • 重新定义父类中已有的方法:覆盖(override),如android程序中继承AppComplication
  8. 抽象类 abstract class
    不包含方法定义的方法称为抽象方法;
    任何包含抽象方法的类必须声明为抽象类;
    不能生成抽象类的对象,可以定义抽象类的引用变量,用来引用非抽象子类对象;
    抽象类的子类必须覆盖所有的抽象方法,才能生成对象,否则仍然是抽象类;
    abstract class Person
    {
          public abstract String getDescription();
    }
    
image.png
  1. 接口

    我们写的android类中的很常见的,为一个按钮建立一个监听器
    btn_note_complete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(NoteActivity.this, NoteNewActivity.class);
                intent.putExtra("NewOrEdit","Edit");
                Bundle bundle = new Bundle();
                bundle.putSerializable("OldNote",note);
                intent.putExtra("data",bundle);
                intent.putExtra("groupName", note.getGroupName());
                startActivity(intent);
                finish();
            }
        });
    
    这是Java自身代码View类的一部分
    public interface OnClickListener {
        /**
         * Called when a view has been clicked.
         *
         * @param v The view that was clicked.
         */
        void onClick(View v);
    }
    

    本例中我们就新建了一个OnClickListener,而这个OnClickListener是View类中的一个接口,要实例化 OnClickListener这个接口的 对象,必须要实现他的方法 onClick()


    image.png
  2. 多态
    父类引用变量可以 引用子类对象


    image.png
  3. 图形程序设计 用户界面组件
    AWT 和 Swing
    二者的区别:https://zhidao.baidu.com/question/78281877.html

  4. 流与文件
    Java将不同类型的输入、输出抽象为流(stream)
    文件分为 二进制文件(如图片,音频等等)、文本文件(.txt等等)

    父类的基本方法
    int read();      //读取一个字符,返回这个字符,若到了结尾,则返回 -1
    int read(char[] cbuf);    //将文本读取到字符数组中,返回实际读取数目
    int read(char[] cbuf,int off, int len);    //  ?
    int availavle();
    long skip(long n);
    
image.png image.png

所以我们读写一个的时候,考虑好,是字节流还是字符流,还是其他。
InputStream 字节输入流的所有类的父类,抽象类
OutputStream
Reader 读取字符流的所有类的父类,抽象类

File 类 image.png

二进制文件处理
FileInputStream 和 FileOutputStream

FileInputStream in = new FileInputSream("hello.jpg");

文本文件处理

FileReader in = new FileReader("hello.txt");

输入流 修饰类
BufferedReader
从字符输入流中读取文本,缓冲各个字符,与其他流配合使用

BufferedReader in = new BufferedReader(new FileReader("hello.txt"));
String line = in.readLine();

Scanner JDK5引入

Scanner in = new Scanner(new FileReader("hello.txt"));
String line = in.nextLine();

对象流


image.png

这个在我们之前的android便签中也有用到,当时为了将 在NewNoteActivity中生成的Note对象传递给另一个Activity的时候,使用bundle传递,要使用bundle传递,就必须实现Serializable接口,


image.png

JAVA IO流类图
~

上一篇 下一篇

猜你喜欢

热点阅读