一.Object类html
1.==与equals的使用java
1.1:==node
基本类型之间使用:“==”是判断两个基本类型的变量的值是否相等
引用类型之间使用:“==” 是判断两个引用的“地址"是否相等,若是引用同一对象则返回true,不然返回falseide
1.2:equals方法的含义this
Object中的equals方法spa
public boolean equals(Object obj){ return (this==obj); }
与"=="相同,比较两个引用是否相等。指针
1.3若是比较两个引用所引用的对象的内容是否相等,则须要重写equals方法:code
@Override public boolean equals(Object obj){ //比较两个引用是否引用同一个学生对象 if(this==obj){ return true; } //比较obj是否为Student类型:instanceof if(obj instanceof Student){ //向下转型 把obj转成student Student s = (Student)obj; //比较学校 if(this.studentId != s.studentId) return false; //比较姓名 if(this.name==null){//避免引发空指针异常 if(s.name!=null) return false; }else if(!this.name.equals(s.name))return false; return true; } return false; }
2.toString方法htm
方法的原型:
public String toString(){}
返回该对象的字符串表示: 该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成
自定义的类若是实现调用toString()方法时返回对象的内容时须要重写此方法:对象
在定义实体类,bo等,建class类,写好参数属性。
快捷键:alt+shift+s,而后选择toString
3.finalize方法:
方法的原型 protected void finalize() throws Throwable
当垃圾回收器肯定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
子类重写finalize方法,以配置系统资源或执行其余清除。
对于任何给定对象,Java 虚拟机最多只调用一次finalize方法
4.控制访问权限的修饰符:
4.一、访问修饰符:
1).private
2) .默认的
3).protected
4).public
4.二、建立类时的访问修饰符仅可为:public ,默认的
5.匿名内部类
5.一、什么是内部类?
定义在类内部的类
5.二、内部类的分类:
1)成员内部类 2)静态内部类 3)局部内部类 4)匿名内部类
注意:除了静态内部外,其余内部类中不能定义静态成员
5.三、什么样的内部类能够定义为匿名内部类
1) 此内部类仅使用一次
2) 内部类继承自某一个父类或实现某一个接口,并重写父类或接口中的方法
3) 内部类中没有本身特有的方法和属性
5.四、匿名内部类的建立方式
匿名内部类把类的定义和建立一块儿完成
继承自某个父类:
父类类名 引用名 = new 父类类型(参数){类体};
实现某一个接口:
接口名 引用名 = new 接口名(){ 类体};
5.五、内部类的好处
1)实现多继承
2)隐藏了内部类的信息:内部类可使用四种修饰符修饰
3)内部类能够访问外部类的信息
4)能够以不一样的实现方式重写父类和接口中的同名方法
5.6代码例子:汽车 人