Java基础复习(DayFour):拾遗、对象与类

本文介绍了OOP(面向对象)和OPP(面向过程)的概念区别,重点阐述了OOP的封装、继承和多态特性。同时讲解了final和static关键字在Java中的应用,以及它们在实现单例模式和静态工厂模式中的作用。鼓励持续学习和技术提升以应对职场竞争。
摘要由CSDN通过智能技术生成

OOP、OPP概念理解


OOP:指面向对象,关注的是谁来做(底层还是OPP),即完成任务的对象

OPP:指面向过程,关注的是怎么做,即完成任务的具体细节

[](

)OOP三大特性

[](

)封装

封装又被称为数据隐藏。

从形式上看,封装其实就是将数据和行为组合在一个类中,或者一个包中,并对使用者隐藏所有的实现细节。

实现起来就是将属性私有化,同时提供一些可以被外界访问的公共方法

实现封装的关键就在于,绝对不能让使用类直接访问 需要zi料+ 绿色徽【vip1024b】

本类中的属性,只可以通过对象的方法和一些数据进行交互,然后改变本类的状态(属性值)

封装赋予了对象黑盒特征(即什么都看不到,上层只管调用就好),这是提高重用性和可靠性的关键

这意味着本类可以完全改变存储数据或者逻辑实现的方式,而实用类完全不知道改变了,只要仍旧使用同样的方法调用就好了(前提本类没有改变方法名和参数)

[](

)继承

继承是使用已存在的类作为基础建立新类的技术

继承的作用是可以通过扩展其他类来构建新类,从而可以让用户自定义Java类变得更加容易

在扩展一个已有的类时,这个扩展后的新类具有被扩展的类的全部属性和方法,只需要在新类中提供适用于这个新类的新方法和数据字段就可以了

继承有以下特点

  1. 子类拥有父类对象所有的属性和方法(包括私有方法和私有属性),但是父类中的私有方法和私有属性,子类是不可以进行访问操作的

  2. 子类可以拥有自己属性和方法,即子类在父类的基础上可以进行自定义的拓展

  3. 子类可以用自己的方式实现父类的方法(重写)

[](

)多态

多态是指程序中定义的引用变量所指向的具体类型并不确定(即并不一定是该引用变量的类型),而是在程序运行时才确定,即一个引用变量到底会指向哪一个类的实例对象,该引用变量发出的方法调用到底是哪个类的实现方法必须在由程序运行时确定。

在Java中总共有两种方式可以实现多态

  1. 继承(多个子类对父类方法的重写)

  2. 接口(实现接口并覆盖接口中的同一方法)

final关键字与static关键字


final关键字,我们可以使用在类、变量、方法上

用在类上,表示这个类不可以被继承

用在变量上,表示这个变量必须在构造对象时进行初始化(构造方法),而且不能被更改,也就是没有了set方法

用在方法上,表示这个类不可以被子类重写

static关键字,我们可以用在变量和方法上

用在变量上,表示这个变量是静态变量,不需要依赖于实例化对象也可以使用,通过类使用(属于类),且这个属性被所有实例化该类的对象共享(但不可以使用,也就是不可以通过实例化对象使用,说的再仔细一点就是没有this)

用在方法上,表示这个方法是静态方法,不需要依赖于实例化对象也可以使用,通过类使用(属于类),同样被所有实例化该类的对象共享,但是不可以通过实例化对象去调用,同样来说,也是没有this

注意:静态方法不可以访本类的非静态变量,因为非静态变量都是要实例化对象后才有的,构造对象时,会先构造静态代码块,静态方法与静态变量,然后才是这些成员变量和方法,所以根本访问不了,但是成员方法却可以访问静态变量和调用静态方法,因为已经构造好了

我们可以利用这个性质去实现单例模式(也就是确保程序中所有该类的实例都是同一个对象)

  1. 将构造方法设为私有,让外部不可以访问

  2. 设置一个静态方法,里面调用本类的构造方法

这样就确保了程序中的该类实例化都是共享的,都是同一个对象

静态类还有一个使用场景就是静态工厂模式

举个栗子

最后如何让自己一步步成为技术专家

说句实话,如果一个打工人不想提升自己,那便没有工作的意义,毕竟大家也没有到养老的年龄。

当你的技术在一步步贴近阿里p7水平的时候,毫无疑问你的薪资肯定会涨,同时你能学到更多更深的技术,交结到更厉害的大牛。

推荐一份Java架构之路必备的学习笔记,内容相当全面!!!

成年人的世界没有容易二字,前段时间刷抖音看到一个程序员连着加班两星期到半夜2点的视频。在这个行业若想要拿高薪除了提高硬实力别无他法。

你知道吗?现在有的应届生实习薪资都已经赶超开发5年的程序员了,实习薪资26K,30K,你没有紧迫感吗?做了这么多年还不如一个应届生,真的非常尴尬!

进了这个行业就不要把没时间学习当借口,这个行业就是要不断学习,不然就只能被裁员。所以,抓紧时间投资自己,多学点技术,眼前困难,往后轻松!

【关注】+【转发】+【点赞】支持我!创作不易!

你知道吗?现在有的应届生实习薪资都已经赶超开发5年的程序员了,实习薪资26K,30K,你没有紧迫感吗?做了这么多年还不如一个应届生,真的非常尴尬!

进了这个行业就不要把没时间学习当借口,这个行业就是要不断学习,不然就只能被裁员。所以,抓紧时间投资自己,多学点技术,眼前困难,往后轻松!

【关注】+【转发】+【点赞】支持我!创作不易!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值