2019.2.3 复习一下java
第一章
- 命令行工具
javac 源文件名.java java 类名
- IDE 和编辑器的区别
-
image.png
image.png - String类常用方法
+、subString、length()、charAt()、indexOf()、trim()、replace()、equals()、equalsIgnoreCase() -
面向过程 和 面向对象 的区别
我觉得主要是 对数据有了保护;代码的复用性也更高。
image.png - 包名小写package corejava;
- 继承
子类将继承父类成员,但不能直接访问父类private成员
继承的特点:
子类对父类可做拓展和特殊化- 添加新的成员:成员变量和方法
- 重新定义父类中已有的方法:覆盖(override),如android程序中继承AppComplication
- 抽象类 abstract class
不包含方法定义的方法称为抽象方法;
任何包含抽象方法的类必须声明为抽象类;
不能生成抽象类的对象,可以定义抽象类的引用变量,用来引用非抽象子类对象;
抽象类的子类必须覆盖所有的抽象方法,才能生成对象,否则仍然是抽象类;abstract class Person { public abstract String getDescription(); }
-
接口
我们写的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 -
多态
父类引用变量可以 引用子类对象
image.png -
图形程序设计 用户界面组件
AWT 和 Swing
二者的区别:https://zhidao.baidu.com/question/78281877.html -
流与文件
Java将不同类型的输入、输出抽象为流(stream)
文件分为 二进制文件(如图片,音频等等)、文本文件(.txt等等)父类的基本方法 int read(); //读取一个字符,返回这个字符,若到了结尾,则返回 -1 int read(char[] cbuf); //将文本读取到字符数组中,返回实际读取数目 int read(char[] cbuf,int off, int len); // ? int availavle(); long skip(long n);
所以我们读写一个的时候,考虑好,是字节流还是字符流,还是其他。
InputStream 字节输入流的所有类的父类,抽象类
OutputStream
Reader 读取字符流的所有类的父类,抽象类
二进制文件处理
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流类图
~
网友评论