网站建设前景怎么样,网站建设网络推广销售,深圳蚂蚁网络,厦门国外网站建设公司排名撰写成一问一答的形式#xff0c;每次回答都默写#xff0c;对比参考答案后#xff0c;再默写出更恰当的答案。 相关内容 Java基础知识 | 常见面试题#xff08;上#xff09;#xff1a;基础概念和常识 Java基础知识 | 常见面试题#xff08;上#xff09;#xff1a… 撰写成一问一答的形式每次回答都默写对比参考答案后再默写出更恰当的答案。 相关内容 Java基础知识 | 常见面试题上基础概念和常识 Java基础知识 | 常见面试题上基本语法 Java基础知识 | 常见面试题上基本数据类型 自测篇
1.1 面向对象和面向过程的区别 1.2 创建一个对象用什么运算符?对象实体与对象引用有何不同? 1.3 对象的相等和引用相等的区别 1.4 类的构造方法的作用是什么? 1.5 如果一个类没有声明构造方法该程序能正确执行吗? 1.6 构造方法有哪些特点是否可被 override? 1.7 面向对象三大特征 1.8 接口和抽象类有什么共同点和区别 1.9 深拷贝和浅拷贝区别了解吗什么是引用拷贝
答案篇
1.面向对象和面向过程的区别
两者解决问题的方式不同
面向对象是根据问题先抽象出涉及到的对象再基于对象去分配任务去实现解决问题。 将事务封装到对象中实现之后再增加事务只需要创建对象即可。
面向过程则是将问题拆解成几个子问题再依次实现。
举个生活中的例子餐馆的场景
面向对象的方式则是创建厨师、服务员和顾客三个对象则能够实现这个场景
面向过程则是创建顾客进门→服务员拿菜单介绍→顾客点菜下单→厨师做菜→服务员上菜→顾客结账
面向过程则是能够流程化而面向对象更符合我们的思维思考
2.创建一个对象用什么运算符?对象实体与对象引用有何不同?
创建对象使用new运算符创建新的对象实例并将新的对象引用指向该实例。
对象引用是什么 对象引用即指向堆内存中实际对象的地址存储在栈当中。 对象实体即对象的信息和内容存储在堆当中。 对象实体和对象引用像是绳子与气球一个对象引用只能指向一个对象实体而可以有很多个对象引用指向同一个对象实体。
3.对象的相等和引用相等的区别
引用相同通过查看地址是否相同而对象相等判断的是其内存存放的值和属性是否相同。
4.类的构造方法的作用是什么?
类的构造方法便于在调用对象时直接赋值初始化其中无参构造器能够保证即使无赋值初始化也不会报错
5.如果一个类没有声明构造方法该程序能正确执行吗?
能正常运行因为在Java机制中当没有创建构造器时其会默认创建无参构造器
若创建构造器后则必须创建无参构造成
因为在创建引用类型时new对象后加上的()调用的就是无参构造器不创建很容易报错。
6.构造方法有哪些特点是否可被 override?
构造方法方法名与类相同无返回类型和返回值
能够撰写参数列表重载创建多个构造方法必须参数列表不同不能被override覆盖/重写
但能够直接调用在创建对象时自动执行相应构造器方法无需调用
7.面向对象三大特征
面向对象三大特征为封装、继承和多态
封装 能够将常用的方法构建好后便于下次使用时直接调用相应的包即可 封装相当于黑盒但同时必须提供相应的访问方法。 每个类相对于一个对象将该对象需要解决的功能实现封装并且提供外部相应访问的方法。 防止外部直接方法内部信息同时必须提供给外部能够访问的途径因为类的创建就是为了便于使用。 就像使用电脑我们无需知道里面的集成电路如何构建只需要会使用键盘和鼠标即可操作计算机
继承代码复用性和可维护性 在已经封装好的类的实现功能上再完善or增加相应的功能。 但需要注意的是继承的是父类全部的方法 注意事项 子类只是拥有父类的方法即对于父类的私有方法只能访问而不能再其基础上修改。 子类能够继承父类方法并拓展自己方法 子类可以用自己的方式实现父类的方法不懂后期待补。
多态 同种方法根据调用的对象不同而产生不同的结果使用父类创建对象使用父类的引用来引用子类的对象。 对象类型和引用类型间必须是继承关系 只能够调用“父类和子类”都存在的方法在运行时才能确定调用的是哪个类的方法 当子类覆盖父类方法时则调用的是指向子类对象的方法若该子类未覆盖父类方法则调用的是父类的方法
8.接口和抽象类有什么共同点和区别
接口出现的目的是为了定义规范必须实现某些功能才能被认为符合某类范式。
抽象类则是为了将具象化事物抽象出来便于按照指定特征去实现就像动物抽象类狗和猫都能实现其基础功能并且在该基础上实现其各自特点相当于是参考模板。
接口和抽象类的共同点 继承子类必须实现其所有方法 且接口和抽象类都不能实例化 接口 抽象类 子类必须实现 子类必须实现 继承机制不同 能够多接口 只能继承一个抽象类 对类进行约束实现相应行为 目的是复用关注所属关系 语法不同 Inference Abstract 修饰符要求不同 public、static或final修饰 默认为default 不能被修改且必须有初始值 可被重新定义or重新赋值。
9.深拷贝和浅拷贝区别了解吗什么是引用拷贝
浅拷贝只是创建新的对象引用到相同对象实体中而深拷贝则是将对象实体信息和内容和对象引用都复制一遍
引用拷贝则是直接引用对象与原对象共用对象引用和对象实体 浅拷贝的对象与原对象不同但调用的内容是相同共用的
问题和理解大部分来源为Guide哥的Java面试指南有需要的可自行检索加入其星球获得。