黑马程序员技术交流社区
标题: 第三天总结 [打印本页]
作者: ChasXu 时间: 2017-12-8 17:32
标题: 第三天总结
今天自习,把前面的内容大概都看了一下,整理了一下.
方法:就是完成特定功能的代码块。
*
* 定义格式:
* 修饰符 返回值类型 方法名(参数类型参数名1,参数类型 参数名2...) {
* 方法体;
* return 返回值;
* }
* 格式解释:
* A:修饰符 目前记住public static
* B:返回值类型 用于限定返回值的数据类型
* C:方法名 一个名字,为了方便我们调用方法
* D:参数类型 用于接收调用方法时传入的数据的类型
* E:参数名 用于接收调用方法时传入的数据的变量
* F:方法体 完成功能的代码
* G:return 结束方法,把返回值带给调用者
*
* 方法的两个明确:
* A:返回值类型 明确功能结果的数据类型
* B:参数列表 明确有几个参数,以及参数的类型
命名原则:见名知意
a包
最好是域名倒过来,要求所有的字母小写
b类或者接口
如果是一个单词首字母大写
如果是多个单词每个单词首字母大写(驼峰标识)
c方法或者变量
如果是一个单词全部小写
如果是多个单词,从第二个单词首字母大写
d常量
如果是一个单词,所有字母大写
如果是多个单词,所有的单词大写,用下划线区分每个单词
方法重载特点:
* 方法名相同,参数列表不同。与返回值无关。
* 参数列表不同:
* 参数的个数不同。
* 参数对应的类型不同。
顺序不同
构造方法格式
a:方法名与类名相同
b:没有返回值类型,连void都没有
c:没有具体的返回值
常用API
Scanner:
String nextLine():键盘录入字符串[注意不要混合使用]
String next():键盘录入字符串[注意不要输入空格]
String nextInt():键盘录入整数
String nextDouble():键盘录入小数
String:
创建对象的常用方式:
方式1:
String s4 = "hello";
方式2:
char[] chs = {'h','e','l','l','o'};
String s2 = new String(chs);
判断功能:
* boolean equals(Object obj):比较字符串的内容是否相同
* boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
* boolean startsWith(String str):判断字符串对象是否以指定的str开头
* boolean endsWith(String str):判断字符串对象是否以指定的str结尾
* boolean contains(String str):判断字符串对象是否以包含的str
获取功能:
* 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
转换功能:
* char[] toCharArray():把字符串转换为字符数组
* String toLowerCase():把字符串转换为小写字符串
* String toUpperCase():把字符串转换为大写字符串
其他功能:
* String trim() :去除字符串两端空格
* String replace(String oldStr,String newStr):将字符串中oldStr替换成newStr
* String[] split(String str):按照指定符号分割字符串
StringBuilder:
常用方法:
* public int length():返回长度(字符数)
* public StringBuilder append(任意类型):添加数据,并返回自身对象
* public StringBuilder reverse():反转数据,并返回自身对象
StringBuilder和String的互转:
StringBuilder -- String
* public StringtoString():通过toString()就可以实现把StringBuilder转成String
String -- StringBuilder
*StringBuilder(String str):通过构造方法就可以实现把String转成StringBuilder
集合
获取元素
* publicE get(int index):返回指定索引处的元素
* 集合长度
* publicint size():返回集合中的元素的个数
* 删除元素
* publicboolean remove(Object o):删除指定的元素,返回删除是否成功
* publicE remove(int index):删除指定索引处的元素,返回被删除的元素
* 修改元素
* publicE set(int index,E element):修改指定索引处的元素,返回被修改的元素
如何实现数据的换行?
* \n可以实现换行,但是windows系统自带的记事本打开并没有换行,这是为什么呢?因为windows识别的换行不是\n,而是\r\n
* windows:\r\n
* linux:\n
* mac:\r
BufferedWriter
voidnewLine():写一个换行符,这个换行符由系统决定,不同的操作系统newLine()方法使用的换行符不同
BufferedReader
StringreadLine():一次读取一行数据,但是不读取换行符
* 如何实现数据的追加写入?
* FileWriter(StringfileName, boolean append)如FileWriter fw = new FileWriter("c.txt",true);
FileWriter其它写方法
voidwrite(String str):写一个字符串数据
voidwrite(String str,int index,int len):写一个字符串中的一部分数据
voidwrite(int ch):写一个字符数据,这里写int类型的好处是既可以写char类型的数据,也可以写char对应的int类型的值。'a',97
voidwrite(char[] chs):写一个字符数组数据
voidwrite(char[] chs,int index,int len):写一个字符数组的一部分数据
static的注意事项:
* 静态方法:
* 可以调用静态的成员变量
* 可以调用静态的成员方法
* 不可以调用非静态成员变量
* 不可以调用非静态成员方法
* 静态方法只能调用静态的成员
* 非静态方法:
* 可以调用静态的成员变量
* 可以调用静态的成员方法
* 可以调用非静态的成员变量
* 可以调用非静态的成员方法
自定义工具类:
Private+类名{ }
类变量:其实就是静态变量
定义位置:定义在类中方法外
所在内存区域:方法区
生命周期:随着类的加载而加载
特点:无论创建多少对象,类变量仅在方法区中,并且只有一份
实例变量:其实就是非静态变量
定义位置:定义在类中方法外
所在内存区域:堆
生命周期:随着对象的创建而加载
特点:每创建一个对象,堆中的对象中就有一份实例变量
继承中成员变量的特点
A:子类只能获取父类非私有成员
子父类中成员变量的名字不一样直接获取父类的成员变量
子父类中成员变量名字是一样的获取的是子类的成员变量
B:就近原则:谁离我近我 就用谁
如果有局部变量就使用局部变量
如果没有局部变量,有子类的成员变量就使用子类的成员变量
如果没有局部变量和子类的成员变量,有父类的成员变量就使用父类的成员变量
C: super:可以获取父类的成员变量和成员方法,用法和this是相似的
this和super的区别
this:当前对象的引用
调用子类的成员变量
调用子类的成员方法
在子类的构造方法第一行调用子类其他构造方法
super:子类对象的父类引用
调用父类的成员变量
调用父类的成员方法
在子类的构造方法第一行调用父类的构造方法
匿名对象的应用场景:
* 当方法只调用一次的时候可以使用匿名对象
* 可以当作参数进行传递,但是无法在传参之前做其他的事情
* 注意:匿名对象可以调用成员变量并赋值,但是赋值并没有意义
final关键字
final: 修饰符,可以用于修饰类、成员方法和成员变量
final所修饰的类:不能被继承,不能有子类
final所修饰的方法:不能被重写
final所修饰的变量:是不可以修改的,是常量
abstract:关键字,用于修饰方法和类,不能和 private ; final ; static 共存
* 抽象方法:不同类的方法是相似,但是具体内容又不太一样,所以我们只能抽取他的声明,没有具体的方法体,没有具体方法体的方法就是抽象方法
* 抽象类:有抽象方法的类必须是抽象类
* 注意:一个类继承了抽象类需要重写他所有的抽象方法,否则这个类就得是抽象类
抽象类的特点:
抽象方法只能在抽象类里面
抽象类和抽象方法必须被abstract修饰
抽象类不能创建对象(不能实例化)
抽象类中可以有非抽象的方法
抽象类和类的关系也是继承
一个类继承了抽象类要么重写所有的抽象方法,要么他自己是抽象类
作者: xiongliu 时间: 2017-12-9 15:49
是有认真复习的,为你的认真点赞
作者: 1414225997 时间: 2017-12-10 09:32
哇很认真的总结
作者: 陈文老师 时间: 2017-12-10 13:57
加油,骚年,坚持总结,查漏补缺
作者: 渝小妹 时间: 2017-12-11 09:18
每天争取都要全部掌握全部吸收哟~~~
作者: 花开的季节 时间: 2017-12-11 17:13
不错哟,认真的人最帅!
作者: 没关系 时间: 2017-12-11 19:54
这个确实厉害了 加油 继续保持
作者: 狸大大 时间: 2017-12-12 14:50
善于总结 温故而知新 加油哦
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |