Object类
是所有类的父类
Object类被子类经常重写的方法
![]()
注:如果equals()方法没有重写,比较的是两个对象的地址值;如果重写了,比较的则是两个对象中的内容是否相同;
==作用:对于基本数据类型,比较的是内容;对于引用类型,比较的是堆地址值
static关键字
1、static代表是一个共享,static修饰的属性是属于类的,不属于某个对象的
2、static可以修饰属性(变量)、修饰方法、修饰代码快、修饰类(不常用,修饰内部类)
3、如果变量或者方法前面没有加static关键字的话,称为非静态变量或者非静态方法(实例方法,实例变量)
4、静态环境下只能访问静态的,不能访问非静态的;
5、通常结合工具类使用,例如Arrays类,Math类
6、为了方便调用,不用创建对象再来调用,直接通过类名调用方法或者变量;
类名.静态方法; 类名.静态变量;
7、属于类的,加载机制是最优先的,优先创建对象的
8、随着类的加载而加载,加载到方法去中的静态区,只有一份。
9、静态代码块static()是跟类同一时间加载运行;快速初始化;
抽象类与抽象方法
public abstract class Person{
public abstract void study();
}
抽象类 VS 普通类
抽象类不能被实例化;但可以创建一个引用变量,其类型是一个抽象类,指向非抽象的子类实例
普通类可以被实例化
抽象方法 VS 普通方法
有无方法体