Java基础面试题-2day

面向对象

  1. 创建一个对象用什么运算符,对象实体和对象引用有什么不同?

创建对象使用new
String A = new String();
A即为对象引用,通过new运算符,创建String()类型的对象实体。
对象引用的存储位置在栈内存
对象实体的存储位置在堆内存

  1. 对象相等和引用相等的区别

对象相等指的是对象所保存的内容是否行相同
引用相等指的是对象的地址是否相同

  1. 如果一个类没有声明构造方法,该程序能正常运行吗

可以,每一个类都有一个默认存在的无参构造方法,当我们没有进行构造方法的重载,创建新对象时,初始化使用的就是无参构造方法;如果我们在类中添加了有参数的构造方法,就要把无参构造方法显示的写出来,可以为我们创建对象时减去一些没有必要的错误。

  1. 构造方法的特点

构造方法名和类名一致
构造方法没有返回值,且不能使用void
构造方法不需要调用,当我们进行对象的创建的时候自动调用
构造方法不能被重写,但是能重载

  1. 面向对象三大特征

封装,继承,多态
封装:将方法内的属性进行私有化,通过方法向外界提供修改获得
继承:子类继承父类,可以拥有父类的所有属性和方法,包括私有属性和方法,注意这里只是拥有,子类是不能访问父类的私有的属性和方法的,只是拥有!
多态:父类的引用指向子类的实例,
对象类型和引用类型之间有继承和实现的关系,也就是引用类型可以是接口,也可以是父类,对象类型是实现了接口的类,或者是继承了父类的子类。

  1. 接口和抽象类有什么共同点和区别

接口和抽象类都不能被实例化,都可以包含抽象方法,都可以有默认实现的方法
接口中的成员变量默认都是public static final修饰,而且必须赋值且不能被修改
抽象类中的成员变量默认default,可以在子类被重新定义,也可以被重新赋值

  1. 浅拷贝和深拷贝⭐

参考文章:https://www.cnblogs.com/ysocean/p/8482979.html
总结:浅拷贝指的是实现Java的Cloneable接口,对clone方法进行重写之后,克隆出一个和原对象一样的对象,原理是复制引用,原对象和克隆对象的地址相同
而深拷贝是将整个对象地址所指的堆中数据整份复制出来新的一份,克隆出来的对象地址是不相同的
在这里插入图片描述
在这里插入图片描述


根据Javaguide总结!
javaguide

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云来喜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值