ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java 面向对象测试题-1

2021-02-21 16:00:40  阅读:210  来源: 互联网

标签:Java 测试题 int 子类 面向对象 Integer 父类 方法


题目:


  1. Java 对象初始化顺序?
  2. Overload 和 Override 的区别?Overload 的方法是否可以改变返回值的类型?
  3. int 和 Integer 有什么区别?
  4. char 型变量中能不能存贮一个中文汉字,为什么?

自己思考过后可看参考答案


学习内容:

1. Java 对象初始化顺序?

  1. 父类的静态代码块,父类的静态属性(并列优先级、按代码中出现的先后顺序执行)
  2. 子类的静态代码块,子类的静态属性(并列优先级,按代码中出现的先后顺序执行)
  3. 父类的构造代码块,父类的静态属性(并列优先级,按代码中出现的先后顺序执行)
  4. 父类的构造方法(每 new 一次对象就执行一次)
  5. 子类的构造代码块,子类的非静态属性(并列优先级,按代码出现的先后顺序执行)
  6. 子类的构造方法(每 new 一次对象就执行一次)

2. Overload 和 Override 的区别?Overload 的方法是否可以改变返回值的类型?

  1. Overload 是同一个类中方法的重载,重载的形式:方法名称相同,参数类型不同或参数长度不同,可以完成方法的重载,方法的重载与返回值无关!
  2. 重写 Override 表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时。将调用子类中的定义方法。这相当于把父类中定义的那个完全相同的方法覆盖了。这也是面向对象编程的多态性的一种表现。

总结:

  • Overload(重载、过载)(发生在同一个方法中)
    1、 参数类型、个数、顺序至少一个不相同;
    2、不能重载只有返回值不同的方法名;
    3、存在于父类和子类、同类中。
  • Override(重写,覆盖)(发生在子类与父类中)
    1、方法名、参数、返回值相同;
    2、子类方法不能缩小父类方法的访问权限;
    3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常);
    4、存在于父类和子类之间;
    5、方法被定义为 final 不能被重写。

3.int 和 Integer有什么区别?

Integer 是包装类,int 是基本数据类型;Integer 是 int 的包装类。int 是基本数据类型;Integer 变量必须实例化后才能使用;int 变量不需要;Integer 实际是对象的引用,指向此 new 的 integer 对象。int 是直接存储数据值;Integer 的默认值是 null,int 的默认值是0。

4.char 型变量中能不能存贮一个中文汉字,为什么?

可以存贮一个中文汉字;在 Java 中,char 类型占两个字节,而且 Java 默认采用 Unicode 编码,一个 Uniccode 编码是16位,所以一个 Unicode 编码占两个字节,Java 中无论汉字还是英文字母都是用 Unicode 编码来表示的。所以,在 Java 中,char 类型变量可以存储一个中文汉字。

标签:Java,测试题,int,子类,面向对象,Integer,父类,方法
来源: https://blog.csdn.net/weixin_44715733/article/details/113860225

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有