/**** @author ocq*/
class Parent implements Comparable {private int age = 0;public Parent(int age) {this.age = age;}public int compareTo(Object o) {System.out.println("method of 父类");Parent o1 = (Parent) o;return age > o1.age ? 1 : age < o1.age ? -1 : 0;}
}class Child extends Parent{public Child() {super(3);}public int compareTo(Object o) {System.out.println("method of 子");return 1;}
}public class ComparableTest {/*** @param args*/public static void main(String[] args) {TreeSet set = new TreeSet();set.add(new Parent(3));set.add(new Child());set.add(new Child());set.add(new Parent(4));System.out.println(set.size());
//        测试结果:
//        如果子类和父类都复写了compareTo方法那么各自调用自己的compareTo方法
//        如果子类没有复写compareTo方法,那么调用的都是父类的compareTo方法
    }
}

转载于:https://www.cnblogs.com/langtianya/p/4677928.html

TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!...相关推荐

  1. java工具类应该抛异常吗,java学习阶段一 工具类(异常)

    java学习阶段一 工具类(异常) 介绍 异常:运行期间出现的错误 背离程序本身意图的表现 基本知识 异常的分类 根类 Throwable Error 程序无法处理的错误 表示运行应用程序中教严重的问 ...

  2. Java初学之抛异常

    有这样一道题: 下面关于try.catch和finally语句块的组合使用,正确的是 (A)try {-} (B)try {-} finally {-} (C)try {-} catch {-} fi ...

  3. javascript中实例对象和构造函数关系、原型语法、原型链、call实现继承、apply调用函数、bind拷贝函数、拷贝继承、class类、super、严格模式、高阶函数、闭包、递归、es6简介

    实例对象和构造函数的关系及原型: 实例对象是通过构造函数创建出来的,实例对象的构造器constructor就是指向构造函数的:每个实例对象中的同一方法的指向是各不相同的,但是其属性值相同的属性可以相同 ...

  4. 前端与移动开发----JS高级----面向对象编程,类与实例对象,继承,严格模式,模板字符串,class封装tab栏

    JS高级01 回顾上阶段 Javascript组成 ECMAScript: 基础语法 (变量, 表达式, 循环, 判断, 函数, 对象等) DOM: document 操作标签(获取, 增加, 插入, ...

  5. python的类和对象例题_Python类、类对象和实例对象、组合、绑定详细讲解

    目录: 一.组合 二.类.类对象和实例对象 三.到底什么是绑定 四.课时39课后习题及答案 *********** 一.组合 *********** 现在要求定义一个类,叫水池,水池里要有乌龟和鱼. ...

  6. 求python一个类与对象的代码_Python基础系列(五)类和对象,让你更懂你的python代码...

    首先,非常感谢各位打开本博文,本博文是Python入门基础系列文章之一,Python目前是非常火的编程工具,其实作为编程不在只是程序员的专利,每一个人在日常的工作中.学习中都会或多或少的要用到一些工具 ...

  7. 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)

    27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...

  8. AbstractBeanFactory 生产Bean 实例对象

    AbstractBeanFactory 类中生产Bean 实例对象的主要源码如下: //Bean工厂生产Bean实例对象 protected Object getObjectFromFactoryBe ...

  9. 构造函数和实例对象之间的关系 构造函数创建对象带来的问题 原型

    构造函数和实例对象之间的关系 <!DOCTYPE html> <html lang="en"> <head><meta charset=& ...

最新文章

  1. Cisco无线AP上联口为trunk时无法注册故障处理
  2. Android开发之拍照功能实现
  3. Linux下显示ip所属位置
  4. 多线程并发如何高效实现生产者/消费者?
  5. celery异步执行任务在Django中的应用实例
  6. 安装了虚拟机后mysql用不了_在虚拟机上安装mysql,安装好了并且初始化之后,一直无法启动mysql如何解决?...
  7. 解决tshark报错:tshark: Some fields aren‘t valid
  8. [LeetCode] 118. Pascal's Triangle Java
  9. 字节跳动高工面试:mysql主从复制延迟
  10. C# this关键字(给底层类库扩展成员方法)
  11. Flutter BuildOwner之inactive Elements浅析
  12. 程序开发基础学习五(json配置、解析文件,c++篇)
  13. tinymce 字体样式_TinyMCE-添加中文字体及修改字体大小
  14. Pr2023(Premiere Pro)中文版软件下载「附带安装教程」
  15. 通过JavaScript实现分页及搜索查询
  16. 使用低代码开发的图书管理系统如何使用扫条形码实现图书的录入?
  17. 1bit等于多少字节,换算方法??
  18. 数据分析——DAU下降问题(转)
  19. 最终酬劳高达7.5亿美元,库克是功成身退还是潦草收场?
  20. 一文搞定pandas的数据合并

热门文章

  1. Android代码片段:验证数据
  2. Linux环境崩溃生成core文件以及调试
  3. java doc说明书_JAVADOC 常见使用方法 帮助文档
  4. c++11- Alias Template
  5. c++-内存管理-array allocator
  6. dotnet vs code mysql_.net 5 用vs code链接mysql体验
  7. spring的bean定义真的和顺序无关?
  8. Oracle中过程/函数返回结果集
  9. COALESCE()、isnull()、nullif()函数的用法
  10. 为什么在使用get时,Properties对象总是忽略默认值?