没有合适的资源?快使用搜索试试~ 我知道了~
java面试题.docx
资源推荐
资源详情
资源评论
1、面向对象的三个基本特征?
面向对象的三个基本特征是:封装、继承和多态。
继承:让某个类型的对象获得另一个类型的对象的属性的方法。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类
的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
封装:隐藏部分对象的属性和实现细节,对数据的访问只能通过外公开的接口。通过这种方式,对象对内部数据提供了不同级别的保护,
以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。
多态:对于同一个行为,不同的子类对象具有不同的表现形式。多态存在的 3 个条件:1)继承;2)重写;3)父类引用指向子类对象。
举个简单的例子:英雄联盟里面我们按下 Q 键这个动作:
对于亚索,就是斩钢闪
对于提莫,就是致盲吹箭
对于剑圣,就是阿尔法突袭
同一个事件发生在不同的对象上会产生不同的结果。
我再举一个简单的例子帮助大家理解,这个例子可能不是完全准确,但是我认为是有利于理解的。
public class Animal { // 动物
public void sleep() {
System.out.println("躺着睡");
}
}
class Horse extends Animal { // 马 是一种动物
public void sleep() {
System.out.println("站着睡");
}
}
class Cat extends Animal { // 猫 是一种动物
private int age;
public int getAge() {
return age + 1;
}
@Override
public void sleep() {
System.out.println("四脚朝天的睡");
}
}
在这个例子中:
House 和 Cat 都是 Animal,所以他们都继承了 Animal,同时也从 Animal 继承了 sleep 这个行为。
但是针对 sleep 这个行为,House 和 Cat 进行了重写,有了不同的表现形式(实现),这个我们称为多态。
在 Cat 里,将 age 属性定义为 private,外界无法直接访问,要获取 Cat 的 age 信息只能通过 getAge 方法,从而对外隐藏了 age
属性,这个就叫做封装。当然,这边 age 只是个例子,实际使用中可能是一个复杂很多的对象。
2、访问修饰符 public,private,protected,以及不写时的区别?
3、下面两个代码块能正常编译和执行吗?
// 代码块 1
short s1 = 1; s1 = s1 + 1;
// 代码块 2
剩余7页未读,继续阅读
资源评论
垄断的5心
- 粉丝: 120
- 资源: 128
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 中国2025制造试点城市DID(2000-2023年).xlsx
- 中国制造2025试点城市(2000-2023).dta
- 安徽城市螺杆分装机调试程序
- 基于MATLAB贪吃蛇代码源码【含界面GUI】.zip
- NideShop:基于Node.js+MySQL开发的开源微信小程序商城(mpvue)-nideshop-mpvue.zip
- 基于OSGEarth引擎,实现三维动态海洋流场可视化+C++源代码+文档说明
- 2022微信小程序应用开发赛参赛作品《染小圈》-RanXiaoQuan.zip
- 基于C++ MFC的实现的3D游戏场景
- STM32F103驱动小米电机程序源码
- 基于MATLAB车牌识别源码【含界面GUI】.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功