当前位置: 首页 > news >正文

java必知必会--面向对象及相关基础知识

java必知必会–面向对象及相关基础知识

一、java面向对象:

1、什么是面向对象以及三大特性

①我们把数据和数据之间的相互操作关系放到一起总结为–对象。所有的操作都是基于对象来进行的。
②面向对象的的特征:封装、继承、多态
③封装:我们把数据访问和数据操作部分绑定起来,提供对外的访问接口。所有的操作都经过统一的入口。我们不需关注内部怎么运行操作,只需调用即可,同时也保证其安全性。
④继承:继承就是从新的类中(父类、基类)得到继承信息来创建新的类(子类、派生类)的过程。使得程序之间可以有一定的延续性。可以达到代码简化,易于编写维护,调理也更加的清晰。
⑤多态:同样的对象引用在调用同样的方法时可以做不同的事情。方法的重载(overload)是编译时多态也称之为前绑定,方法的重写是运行时多态也称之为后绑定。

2、面向对象五大原则

①单一职责:各司其职–提升效率
②开闭原则:一个模块在拓展性能方面是开放的,在更改性能方面是封闭的。你可以去拓展但不可以去改变之前的东西。
③替换原则:子类可以替换父类出现在任何父类出现的地方。
4. 依赖原则:A-B组件之间有依赖时必须先实现A才能进行。
5. 接口分离原则:模块之间要通过接口来进行隔离,而不是通过类进行强耦合。(高内聚、低耦合)

3、方法重写和重载的区别

①重载:
重载的方法名一致,参数中的个数、类型、顺序不同重载与方法返回值无关,存在与父类,子类和同类中重载可以有不同的修饰符和异常抛出
②重写:
重写的参数列表,返回值必须一致构造方法不能重写,final方法不能重写,static方法不能重写访问权限不能比父类更低不能抛出比父类更多的异常

4、类变量、成员变量和局部变量

①类变量是归属类的变量,是用来定义类的属性,有static修饰也称之为静态变量,可以通过类名.变量名来获取。
②成员变量归属与类的示例变量,没有用static来修饰。存在与类之内和方法之外。只能通过类对象.变量名来获取
③局部变量是在方法体中定义的变量,其作用域是类的开始和结束。

5、java基本数据类型

bate(字节)、int(整型)、long(长整型)、short(短整型)、bool(布尔)、double(双精度)、float(浮点型)、char(字符)

6、自动拆装箱

javase5推出了自动拆装箱,
Integer i= 10;   --这是装箱,自动根据数值来创建对象;
int j = i;          --这是拆箱,自动将包装类转换为基本数据型;

7、String

详见 http://guangmuhua.com/articleDetail/52

8、集合

详见 http://guangmuhua.com/articleDetail/161

9、抽象类(abstract class)和接口(interface)区别

①抽象类(为继承而定义的,只定义了方法,没有具体实现)
  可以定义构造器、可以有抽象方法和具体方法、抽象类中的接口都是public类型的、抽象类中可以定义成员变量、抽象类中可以包含静态方法、有抽象方法时必须声明为抽象类,而抽象类未必有抽象方法、一个类中只能继承一个抽象类接口
②接口 (泛指别人可以调用的方法或者函数,实现一个接口是必须实现其中的全部方法)
  接口中不能定义构造器、接口中的方法全部都是抽象方法、接口中不能有静态类、一个类可以实现多个接口

引用:https://www.guangmuhua.com/articleDetail/143

http://www.lryc.cn/news/139869.html

相关文章:

  • 【推荐】Spring与Mybatis集成
  • 中科驭数受邀在招商银行金融科技论坛作异构计算主题分享 解码金融科技先进算力构建之路
  • Maven打包方式pom和jar和war的区别
  • 【51单片机】EEPROM-IIC实验(按键控制数码管)
  • 【java】【springboot】【idea】springboot项目pom.xml 灰色下划线
  • [JavaWeb]【十四】web后端开发-MAVEN高级
  • 浏览器跨域
  • ffmpeg windows环境MinGW+msys2编译so库
  • python VTK PyQt5 VTK环境搭建 创建 渲染窗口及三维模型,包含 三维模型交互;
  • 学习总结(二) node.js服务器如何使用net模块向硬件发送命令与接收数据?
  • rust工程
  • Java并发工具类
  • 晨控CK-GW208与三菱L系列PLC以TCP通讯手册
  • c++11 标准模板(STL)(std::basic_istringstream)(五)
  • 【案例教程】高分论文密码:大尺度空间模拟预测与数字制图
  • uniapp 自定义手机顶部状态栏(适配状态栏高度)
  • 【LeetCode】1448.统计二叉树中好节点的数目
  • C语言基础之——数组
  • c# 插入排序
  • action和mutation之间的利用 代码解释
  • WPF基础入门-Class4-WPF绑定
  • 【广州华锐互动】VR高校虚拟实验教学平台提供丰富的资源支持,提高教学效果
  • pytorch学习(7)——神经网络优化器torch.optim
  • leetcode做题笔记​101. 对称二叉树
  • 边缘计算相关概念--学习笔记
  • flutter windows编译错误 flutter_assemble.vcxproj
  • 通过运行中的容器生成 Docker Compose 配置文件
  • rancher界面无法登陆问题解决,登录超时;
  • Django(6)-django项目自动化测试
  • 【AUTOSAR】【CAN通信】CanNm