今天自习,把前面的内容大概都看了一下,整理了一下.
方法:就是完成特定功能的代码块。 * * 定义格式: * 修饰符 返回值类型 方法名(参数类型参数名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修饰 抽象类不能创建对象(不能实例化) 抽象类中可以有非抽象的方法 抽象类和类的关系也是继承 一个类继承了抽象类要么重写所有的抽象方法,要么他自己是抽象类
|