java构造器特性,Java - 类 - 对象 - 方法 - 构造器 - 面向对象程序设计三大特性

读者福利

分享一份自己整理好的Java面试手册,还有一些面试题pdf

不要停下自己学习的脚步

字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么

字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

new关键作用

为对象开辟内存空间

调用了类的构造方法

将生成的对象的地址返回给引用

构造器

构造器的可预见性与类的可预见性息息相关

私有构造器需要提供静态工厂

构造器没有返回值,且名称必须与类名相同,主要是对新创建的对象进行初始化工作

构造器由new调用,构造器在创建对象时自动调用,并执行构造方法的内容

构造器调用是级联调用的,子类构造器会自动调用父类构造器,直至Object构造器

如果没有在构造器中调用特定父类构造器,

编译器会自动在构造器的第一行增加super()来调用父类无参构造器

构造器设计为级联调用是

根据替代性原则

子类对象必须能替代父类对象,因此在构造子类对象之前,先构造父类对象

然后在父类对象的基础上进一步构造对象

也就是说,子类对象隐含着一个父类对象

因为采用了级联调用机制,构造器不能继承的

使用this调用兄弟构造器,如果显式调用兄弟构造器将不再自动增加super()

Java程序加载过程

首先加载要创建对象的类和父类

类在加载的同时将静态成员加载

需要的类加载完成之后,开始创建对象,加载非静态成员

最后执行构造器,构造器执行完毕,对象生成

面向对象程序设计

面向对象 Object Oriented 简称OO

面向对象程序设计 Object Oriented Programming 简称OOP

面向过程和面向对象

面向过程:操纵数据的算法是第一位,数据结构是第二位

面向对象:数据结构是第一位,操纵数据的算法是第二位

面向过程:程序=算法+数据

面向对象:程序=对象+消息

面向过程:更接近计算机世界的物理实现

面向对象:更符合人们的认识习惯

面向对象程序设计有两个重要概念:类(class)和对象(object)

所有的面向对象编程语言都支持3个概念:封装,多态,继承

封装性

含义

类中包含了数据和方法,将数据和方法包装在一个类中,只提供有限的界面,

将细节隐藏起来就构成了封装,这就是信息隐藏性

使用

将成员变量修饰为private,提供public的访问器,通过访问器来读取和设置成员变量

优点

提高代码的灵活性和健壮性 案例

public class Person {

private String name;

private int age;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

if(age>0){

this.age = age;

}else{

System.out.println(“年龄不合法”);

}

}

}

继承性

继承的优点

利用继承,开发人员可以基于已存在的类构造新类,重用代码

成员变量的隐藏

当子类和父类的成员变量相同时,子类便隐藏了父类的成员变量,构成了成员变量的隐藏

当生成子类对象时,Java默认先调用父类不带参数的构造方法

如果子类构造器需要调用父类特定的构造方法,子类构造器使用super()根据参数决定调用哪个构造方法

继承注意事项

构造方法不能被继承,方法和属性可以被继承

子类的构造方法隐式调用父类无参数的构造方法

如果父类没有带参数的构造方法,子类需要使用super()来显式调用父类的构造方法

super()必须是构造方法的第一行

父类对象指向子类对象,父类对象调用方法是调用子类的方法

要注意,父类对象调用子类方法时,父类必须也有此方法

多态性

总结

一般像这样的大企业都有好几轮面试,所以自己一定要花点时间去收集整理一下公司的背景,公司的企业文化,俗话说「知己知彼百战不殆」,不要盲目的去面试,还有很多人关心怎么去跟HR谈薪资。

这边给大家一个建议,如果你的理想薪资是30K,你完全可以跟HR谈33~35K,而不是一下子就把自己的底牌暴露了出来,不过肯定不能说的这么直接,比如原来你的公司是25K,你可以跟HR讲原来的薪资是多少,你们这边能给到我的是多少?你说我这边希望可以有一个20%涨薪。

最后再说几句关于招聘平台的,总之,简历投递给公司之前,请确认下这家公司到底咋样,先去百度了解下,别被坑了,每个平台都有一些居心不良的广告党等着你上钩,千万别上当!!!

Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。
在这里插入图片描述

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。
[外链图片转存中…(img-NTuBq1sw-1715450333266)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值