一、 Object、是所有类的父类,类在默认情况下,继承的都是object类
用法:
1、toString() 将对象转化成String类型,在使用对象时,默认会调用toString()方法
a) toString得到的字符默认格式为:当前类的路径+@+hashcode
b) 若想要呢自己规定格式,那么我们需要重写toString();例如:
2、equala()
a) ==比较基本数据类型时比较的是值是否相等,比较引用数据类型时比较的是内存地址是否相等
b) equals()比较的是引用数据类型的值是否相等
c)在object中equals方法只是简单的使用==进行了比较,若我们真的想要比较引用数据类型的值是否相等,那 么我们就需要重写equals方法
3、finalize () 垃圾回收机制 只是用来进行垃圾回收
二、 访问权限修饰符
权限修饰符 | 在本类中 | 在同包 | 不同包继承关系 | 任何位置 |
私有的private | √ | × | × | × |
默认(default) | √ | √ | × | × |
受保护的protected | √ | √ | √ | × |
公共的public | √ | √ | √ | √ |
访问权限从小到大的顺序为:private default protected public
三、thisthis (这,这个)在代码中一般指的是当前对象,主要用来区分成员变量和局部变量
当变量名相同时,加this关键字的指的是全局变量,不加this关键字的是局部变量
用法:1、调用当前类的属性:this.属性名;
2、调用当前类的方法:this.方法名();。。。。。此处的this是可以省略的
3、调用当前类的构造方法:this();…..当调用有参构造时,需要在()中添加参数
四、supersuper指的是父级的,一般用来调用父类中的特性
用法:1、调用父类中的属性:super.属性名;
2、调用父类中的方法:super.方法名();
3、调用父类中的构造方法:super();……当调用有参构造时,需要在()中添加参数。。。。。。。。。必须写在子类构造函数的第一行
五、final 最终的
1. final修饰的类不能被继承
2. final修饰的属性,值不能改变,是常量,必须赋初始值
3. final修饰的方法,不能被重写
4. 不能修饰构造方法
六、 static 静态
1、能修饰属性,也能修饰方法
2、使用static修饰的方法和属性,不属于对象,只属于类
用法:
1、调用静态属性:类名.属性名;
2、调用静态方法:类名.方法名();
七、abstract 抽象的
1、abstract 可以修饰方法
修饰的方法我们称为抽象方法;
修饰的方法没有方法体;
抽象方法只能存在于抽象类中
2、abstract 修饰类的抽象类
a) 当一个类继承了抽象类,那么这个类就必须重写抽象类中的所有抽象方法
b) 抽象类中可以有抽象方法,也可以有普通方法
c) 抽象类不能被实例化(不能创建对象)
八、interface接口定义的格式:public interface 接口名{}
特点:
1、 接口是特殊的抽象类
2、 接口中所有的方法都是抽象方法,接口中所有的方法都是默认使用public abstract修饰的
3、 接口中所有属性(变量)都是默认使用public static final修饰的,必须给定初始值
4、 接口也不能被实例化
5、类与接口之间只能是实现的关系,即类实现接口
6、 类实现了该接口,那么就必须重写接口中的所有方法
7、类是多实现的,即一个类可以实现多个接口,接口之间使用,分割
8、 类是单继承,多实现的(一个类只能继承一个父类,但是可以实现多个接口)