1.面向对象
1.0 面向对象概述
面向对象思想就是不断的创建对象,使用对象,指挥对象做事情。
1.1 面向过程特点与面向对象特点
A:面向过程:
强调的是过程,所有事情都需要自己完成
B:面向对象:
是一种更符合我们思想习惯的思想(懒人思想,我把事情自己不做,交给别人去做)
可以将复杂的事情简单化(对使用者来说简单了,对象里面还是很复杂的)
将我们从执行者变成了指挥者角色发生了转换
1.2 类与对象
类与对象概述
a:类:是一组相关的属性和行为的集合(我们班所有的同学都具备相同的属性和行为,比如:姓名,年龄,学习,这样就把所有的学生成为学生类)
b:对象:是该类事物的具体体现(说某个同学时,他都具备自己特有的属性和行为)
1.3 成员变量与局部变量的区别
A:在类中的位置不同
成员变量:类中,方法外
局部变量:方法中或者方法声明上(形式参数)
B:在内存中的位置不同
成员变量:堆内存
局部变量:栈内存
C:生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值的问题
成员变量:有默认值
局部变量:没有默认值。必须先定义,赋值,最后使用
2.0面向对象特效之封装
2.0.1 封装与私有关键字
2.0.2 private关键字
A:private关键字:
a:是一个权限修饰符。
b:可以修饰成员(成员变量和成员方法)
c:被private修饰的成员只在本类中才能访问。
2.0.3 封装的概述和好处
A:封装概述
是面向对象三大特征之一
是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。
B:封装原则:
将不需要对外提供的内容都隐藏起来。
把属性隐藏,提供公共方法对其访问。
成员变量private,提供对应的getXxx()/setXxx()方法
C:好处:
通过方法来控制成员变量的操作,提高了代码的安全性
把代码用方法进行封装,提高了代码的复用性
2.0.4 this关键字
A:this:代表所在类的对象引用
方法被哪个对象调用,this就代表那个对象
B:什么时候使用this呢
局部变量和成员变量重名
3.0 面向对象之构造方法
3.0.1 构造方法
主要用来给对象的数据进行初始化
3.0.2 构造方法的格式
构造方法格式
a:方法名与类名相同
b:没有返回值类型,连void都没有
c:没有具体的返回值
3.0.3 构造方法注意事项与重载
如果你不提供构造方法,系统会给出默认构造方法
如果你提供了构造方法,系统将不再提供
构造方法也是可以重载的,重载条件和普通方法相同
2.常用API
2.0 String类
2.0.1 String类的构造方法
String(String original):把字符串数据封装成字符串对象
String(char[] value):把字符数组的数据封装成字符串对象
String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象
2.0.2 String类的判断功能
boolean equals(Object obj):比较字符串的内容是否相同
boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
boolean startsWith(String str):判断字符串对象是否以指定的str开头
boolean endsWith(String str):判断字符串对象是否以指定的str结尾
2.0.2 String类的获取功能
int length():获取字符串的长度,其实也就是字符个数
char charAt(int index):获取指定索引处的字符
int indexOf(String str):获取str在字符串对象中第一次出现的索引
String substring(int start):从start开始截取字符串
String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end
2.0.3 String类的转换功能
char[] toCharArray():把字符串转换为字符数组
String toLowerCase():把字符串转换为小写字符串
String toUpperCase():把字符串转换为大写字符串
2.1 StringBuilder类
2.1.0 StringBuilder类概述
StringBuilder:是一个可变的字符串。字符串缓冲区类。
String和StringBuilder的区别:
String的内容是固定的
StringBuilder的内容是可变的
2.1.1 +=拼接字符串耗费内存原因:
每次拼接都会产生新的字符串对象,而利用StringBuilder来拼接字符串自始至终用的都是同一个StringBuilder容器
2.1.2 StringBuilder类的常用方法
A:构造方法:
StringBuilder()
B:成员方法:
public int capacity():返回当前容量 (理论值)
public int length():返回长度(已经存储的字符个数)
public StringBuilder append(任意类型):添加数据,并返回自
对象
public StringBuilder reverse():反转功能
3.集合类之ArrayList
3.0 ArrayList集合
3.01 ArrayList添加新元素
public boolean add(E e):添加元素
public void add(int index,E element):在指定的索引处添加一个元素
3.0.2 ArrayList删改查方法
A:获取元素
public E get(int index):返回指定索引处的元素
B:集合长度
public int size():返回集合中的元素的个数
C:删除元素
public boolean remove(Object o):删除指定的元素,返回删除是否成功
public E remove(int index):删除指定索引处的元素,返回被删除的元素
D:修改元素
public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
3.0.3 ArrayList遍历
集合的遍历思想和数组的遍历思想相同
循环遍历容器,依次取出里面的元素即可
4.IO
4.0 IO流概述及分类
IO流用来处理设备之间的数据传输
Java对数据的操作是通过流的方式
Java用于操作流的类都在IO包中
流按流向分为两种:输入流,输出流
4.1 FileWriter类使用
4.1.0 FileWriter项文件中写数据
A:FileWriter向文件中写数据操作步骤:
a:使用FileWriter流关联文件
b:利用FileWriter的写方法写数据
c:利用FileWriter的刷新方法将数据从内存刷到硬盘上
d:利用FileWriter的关流方法将释放占用的系统底层资源
B:FileWriter方法:
构造方法
FileWriter(String fileName) 传入一个文件的路径
成员方法
void write(String str) 向文件中写str
void flush() 将内存中的数据刷新到文件中
void close() 关流释放系统底层资源
4.1.2 FileWriter其它写方法
void write(String str):写一个字符串数据
void write(String str,int index,int len):写一个字符串中的一部分数据
void write(int ch):写一个字符数据,这里写int类型的好处是既可以写char类型的数据,也可以写char对应的int类型的值。'a',97
void write(char[] chs):写一个字符数组数据
void write(char[] chs,int index,int len):写一个字符数组的一部分数据
4.2 FileReader类
4.2.0 FileReader读数据一次读取一个字符
int read():一次读取一个字符
4.2.1 FileReader利用字符数组拷贝文件
int read(char[] chs):一次读取一个字符数组
4.3 缓冲流
4.3.0 BufferedWriter类
BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
4.3.1 BufferedReader类
BufferedReader:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
4.3.2 缓冲流的特有使用方法
BufferedWriter
void newLine():写一个换行符,这个换行符由系统决定,不同的操作系统newLine()方法使用的换行符不同
BufferedReader
String readLine():一次读取一行数据,但是不读取换行符
|
|