1、类方法里调用实例方法/成员变量 方法名/变量名是static修饰的,默认前缀为类名;没有static修饰的,默认前缀为this。
2、构造方法:构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是调用构造方法。
public 类名称(参数类型 参数名称){
方法体
}
构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样。
构造方法不要写返回值类型,连void都不写。
构造方法不能return一个具体的返回值。
如果没有编写任何构造方法,那么编译器将默认会赠送一个构造方法,没有参数、方法体什么事情都不会做。
一旦编写了至少一个构造方法,那么编译器将不再赠送。
public class Test {
public void Test() {
System.out.println("普通方法");
}
public Test() {
System.out.println("无参的构造方法");
}
public static void main(String[] args) {
Test test = new Test();
test.Test();
}
}
3、Thread.sleep()是Thread类的一个静态方法,使当前线程休眠,进入阻塞状态(暂停执行),如果线程在睡眠状态被中断,将会抛出IterruptedException中断异常。
4、HashMap遍历方法
(1)Map.Entry<Object,Object> pair : map.entrySet()
pair.getValue()
pair.getKey()
(2)Object key : map.keySet()
Object value: map.values()
5、数据类型判断
如果有2个Object的参数,可以用if(obj1.getClass()==obj2.getClass())来判断类型是否相同,如果要得到类型名,可以用obj.getClass().getName()来获得对象的类名
6、类方法重载
public static class Human {
String name;
boolean sex;
int age;
ArrayList<Human> children = new ArrayList<>();
public Human(String name, boolean sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public Human(String name, boolean sex, int age, Human... children) {
this.name = name;
this.sex = sex;
this.age = age;
Collections.addAll(this.children, children);
}