Java面试题之:面向对象的特征及为什么需要包装类型

本文探讨了面向对象编程的四大特征——封装、抽象、继承和多态,并通过实例说明其概念。同时,解释了在Java中,尽管已有基本数据类型,为何还需要包装类型。包装类型提供面向对象的特性,如null值、常量池以及自动装箱拆箱功能,使得编程更加灵活和方便。
摘要由CSDN通过智能技术生成

一、面向对象的特征有哪些方面?

面向对象有四大基本特征:封装、抽象、继承、多态
  面向对象的封装性,即将对象封装成一个高度自治和相对封闭的个体,对象状态(属性)由这个对象自己的行为(方法)来读取和改变。张三这个人,他的姓名等属性,要有自己提供的获取或改变的方法来操作。private name setName getName。
  抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类只考虑这些事物的相似和共性之处,并且会忽略与当前主题和目标无关的那些方面,将注意力集中在与当前目标有关的方面。 就是把现实生活中的对象,抽象为类。
  在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。遗产继承多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。
  Object obj = new xxx();
  UserDao userDao = new UserDaoJdbcImpl();
  UserDao userDao = new UserDaoHibernateImpl();
  靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。

二、有了基本数据类型,为什么还需要包装类型?

基本数据类型,java中提供了8中基本的数据类型。boolean int float等。
  包装类型:每一个基本的数据类型都会一一对应一个包装类型。
  boolean ----->Boolean
  Int -------->Integer
装箱和拆箱
  装箱:把基本的数据类型转换成对应的包装类型。
  Integer .valueOf(1)
  Integer i = 1;自动装箱,实际上在编译时会调用Integer .valueOf方法来装箱
拆箱:就是把包装类型转换为基本数据类型.基本数据类型 名称 = 对应的包装类型。
  Integer i = 1;
  int j = i;//自动拆箱//int j = i=intValue();手动拆箱
自动拆箱:实际上会在编译调用intValue
  Java是一个面向对象的语言,而基本的数据类型,不具备面向对象的特性。
  null Integer—>null int---->0 用Integer和int分别表示Person这个类的ID
  Max 最大值。
  min 最小值。
  缓存值:对象缓存,Integer i=1; integer j= 1;i ==j

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

faramita_of_mine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值