一、数组
对于数组的操作:
1、System.arrayopy(旧数组,下表,新数组,下表,长度)
2、新对象 = Arrays.copyOf(旧数组,长度);
\\如果要删除数组中的一个元素,先用1、直接把这个元素覆盖掉
\\然后用2,将数组大小-1
二、封装、继承、多态(抽象)
1、封装
2、继承
3、多态
三、方法重载和方法覆盖
1、重载
2、覆盖
@Override
public String toString( ) {
return XXX;
}
//return new StringBuffer(xxx) //用于加快效率
//.append(yyy)
@Override
public boolean equals(Object obj){
if(this == obj)return true;
}
@Override
public int hashCode(){
return score + name.hashCode();
}
//return Objects.hash(name);
四、构造方法
1、构造方法的名字与类名一致
2、构造方法没有返回类型
3、在构造方法的首行会出现this(); / super();
<1>this:执行本构造方法前,先执行其他的构造方法,执行那个根据参数来看
<2>super:提供父类的无参构造方法,也可以传参数进去,先执行父类的构造方法
这俩只能出现一个,不写默认()里面为空。
五、关于String的方法
1、String
返回类型 方法名
byte[] getBytes() 将一个字符串转换成字节数组
char[] toCharArray() 将一个字符串转换成字符数组
String[] split(String) 将一个字符串按照指定的内容劈开
boolean equals(String) 区分大小写的判断两个字符串的内容是否一样
boolean equalsIgnoreCase(String) 不区分大小写的比较
boolean contains(String) 判断一个字符串里面是否包含某个内容
boolean startsWith(String) 是否以指定的内容开头
boolean endsWith(String) 是否以指定的内容结尾
String toUpperCase() 将一个字符串全部转换成大写
String toLowerCase() 将一个字符串全部转换成小写
String replace(String,String)
String replaceAll(String,String)支持正则表达式
String replaceFirst(String,String)
String trim() 去除字符串的前后空格
String substring(int x,int y)从下标x一直截取到下标y-1对 应的元素
String substring(int x)从下标x一直截取到字符串的最后
char charAt(int) 找到某个下标对应的元素
int indexOf(String) 找到某个内容第一次出现的下标
Int lastIndexOf(String) 找到某个内容最后一次出现的下标
2、StringBuffer常用的方法
append(String/int/double/long内容); 追加连接 增加效率
reverse(); 反转字符串的内容
insert(int 下标,内容); 往指定的下标插入确定的内容
六、单例模式
目前在创建比较器中有了第一次实际的用武之地。
比较器只需要创建一次,之后直接调用这个比较器就行了。
public class TestSingle1{
public static void main(String[] args){
Sun x = Sun.getOnly();
}
}
class Sun{
private Sun(){}
//构造方法私有化,外部就不能再创建对象
private static Sun only = new Sun();
//在内部创建这唯一一个对象,加上static让这个创建过程不会死循环
public static Sun getOnly(){//Sun.getOnly();
return only;//外部可以通过这个方法,把这个唯一一个对象调出去使用
}
}
七、接口
一个接口中定义的属性,比如 int i = 10; 都会在前面默认加上public static final这三个修饰符。
而我们定义的任意一个方法都会默认加上public abstract.
一个类只可以继承一个父类,但是可以继承多个接口
class A extends B implements C,D,E...{}