当前位置: 首页 > 工具软件 > java-bible > 使用案例 >

面试之Java圣经1

燕成双
2023-12-01

第一部分Java之面向对象

前言

我又回来了,哈哈哈哈哈哈哈,这次裸辞准备春招,冲冲冲。整理一下学习到的知识。
Java是一门面向对象语言,它具备了C++的各种优点,同时放弃了多继承和指针。因此功能很强大。废话不多话上干货。所有今天聊聊Java面向对象的特征。

一、封装是什么?

        封装就是类的实现细节进行隐藏,对外只提供接口,控制程序中读和修改的权限。好处就是隐藏了类的实现细节,让调用者只能通过规定的方式区调用,让操作规范化。同时还可以通过访问控制符来限制访问的权限。

        访问权限:public(项目可见) >> protected(包可见) >> default(包可见) >> private(类可见)

        protected和default的区别:protected可以与定义类同包的其它类(可以使子类)中和与定义类不同包但是其子类的类中使用;default权限的属性或方法既可以被自己类中的方法使用也可以被同一包下的其他类使用,但不能被其他包中的类使用

二、继承是什么?

        继承就是通过extends关键字来实现,A extends B 的意思是 B是A的父类,A是B的子类。Java只能是单继承所以就是 :一个父类可以有很多的子类,但一个子类只能有一个父类。在继承的关系中,有以下清情况不继承,父类的构造方法,没有访问权限的成员,静态成员不继承。

        继承的意义就是代码的复用。

三、多态是什么?

        之前狭隘的理解为同一个类具有不同的表现形式,看来还是思考的太少。准确的来说多态就是编译时和运行时表现得不同得形态。

        多态的三个条件:

                1.继承时多态的基础,没有继承就没有多态,

                2.子类重写父类的方法。

                3.父类引用变量指向子类对象(类型转换的规则是向上转换自动转,向下需要强转)。

        编译时多态和运行时多态的区别:

                编译时多态:主要是方法的重载,通过参数列表的不同来区分不同的方法。

                运行时多态:也叫作动态绑定,一般是指在执行期间(非编译期间)判断引用对象的实际类型,根据实际类型判断并调用相应的属性和方法。主要用于继承父类和实现接口时,父类引用指向子类对象。 


 类似资料: