Java面向对象(五)
2018-03-08 00:00
197 查看
一.Object类
1.==与equals的使用
1.1:==
基本类型之间使用:“==”是判断两个基本类型的变量的值是否相等
引用类型之间使用:“==” 是判断两个引用的“地址"是否相等,如果引用同一对象则返回true,否则返回false
1.2:equals方法的含义
Object中的equals方法
与"=="相同,比较两个引用是否相等。
1.3如果比较两个引用所引用的对象的内容是否相等,则需要重写equals方法:
2.toString方法
方法的原型:
public String toString(){}
返回该对象的字符串表示: 该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成
自定义的类如果实现调用toString()方法时返回对象的内容时需要重写此方法:
在定义实体类,bo等,建class类,写好参数属性。
快捷键:alt+shift+s,然后选择toString
3.finalize方法:
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
子类重写finalize方法,以配置系统资源或执行其他清除。
对于任何给定对象,Java 虚拟机最多只调用一次finalize方法
4.控制访问权限的修饰符:
4.1、访问修饰符:
1).private
2) .默认的
3).protected
4).public
4.2、创建类时的访问修饰符仅可为:public ,默认的
5.匿名内部类
5.1、什么是内部类?
定义在类内部的类
5.2、内部类的分类:
1)成员内部类 2)静态内部类 3)局部内部类 4)匿名内部类
注意:除了静态内部外,其他内部类中不能定义静态成员
5.3、什么样的内部类可以定义为匿名内部类
1) 此内部类仅使用一次
2) 内部类继承自某一个父类或实现某一个接口,并重写父类或接口中的方法
3) 内部类中没有自己特有的方法和属性
5.4、匿名内部类的创建方式
匿名内部类把类的定义和创建一起完成
继承自某个父类:
父类类名 引用名 = new 父类类型(参数){类体};
实现某一个接口:
接口名 引用名 = new 接口名(){ 类体};
5.5、内部类的好处
1)实现多继承
2)隐藏了内部类的信息:内部类可以使用四种修饰符修饰
3)内部类可以访问外部类的信息
4)可以以不同的实现方式重写父类和接口中的同名方法
5.6代码例子:汽车 人
1.==与equals的使用
1.1:==
基本类型之间使用:“==”是判断两个基本类型的变量的值是否相等
引用类型之间使用:“==” 是判断两个引用的“地址"是否相等,如果引用同一对象则返回true,否则返回false
1.2:equals方法的含义
Object中的equals方法
public boolean equals(Object obj){ return (this==obj); }
与"=="相同,比较两个引用是否相等。
1.3如果比较两个引用所引用的对象的内容是否相等,则需要重写equals方法:
@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方法
方法的原型:
public String toString(){}
返回该对象的字符串表示: 该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成
自定义的类如果实现调用toString()方法时返回对象的内容时需要重写此方法:
在定义实体类,bo等,建class类,写好参数属性。
快捷键:alt+shift+s,然后选择toString
3.finalize方法:
方法的原型 protected void finalize() throws Throwable
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
子类重写finalize方法,以配置系统资源或执行其他清除。
对于任何给定对象,Java 虚拟机最多只调用一次finalize方法
4.控制访问权限的修饰符:
4.1、访问修饰符:
1).private
2) .默认的
3).protected
4).public
4.2、创建类时的访问修饰符仅可为:public ,默认的
5.匿名内部类
5.1、什么是内部类?
定义在类内部的类
5.2、内部类的分类:
1)成员内部类 2)静态内部类 3)局部内部类 4)匿名内部类
注意:除了静态内部外,其他内部类中不能定义静态成员
5.3、什么样的内部类可以定义为匿名内部类
1) 此内部类仅使用一次
2) 内部类继承自某一个父类或实现某一个接口,并重写父类或接口中的方法
3) 内部类中没有自己特有的方法和属性
5.4、匿名内部类的创建方式
匿名内部类把类的定义和创建一起完成
继承自某个父类:
父类类名 引用名 = new 父类类型(参数){类体};
实现某一个接口:
接口名 引用名 = new 接口名(){ 类体};
5.5、内部类的好处
1)实现多继承
2)隐藏了内部类的信息:内部类可以使用四种修饰符修饰
3)内部类可以访问外部类的信息
4)可以以不同的实现方式重写父类和接口中的同名方法
5.6代码例子:汽车 人
相关文章推荐
- Java面向对象的本质
- java 面向对象
- java再读面向对象
- 【Java中级】(一)面向对象的特性与八种基本类型
- Java中面向对象三大特征总结
- (17)Java学习笔记——面向对象10——包 / 权限修饰符的的使用
- 黑马程序员---------Java面向对象——IO
- java基础学习面向对象之代码块 五-8
- Java 基础与 面向对象
- 黑马程序员 Java面向对象——IO流(字节流键盘读取)
- 黑马程序员—Java面向对象(单例设计模式、面向对象的继承、final关键字)
- Java 面向对象 package/import/import static
- 【Java基础】第三讲 Java语言中的面向对象特性
- java面向对象(三)之抽象类,接口
- java面向对象之向上转型和向下转型
- Java面向对象的三大特性之一 多态
- java面向对象的核心思想
- Java编程基础-面向对象(中)
- Java--面向对象之四:多态、内部类、Object类
- JAVA面向对象(五)