java必知必会–面向对象及相关基础知识
一、java面向对象:
什么是面向对象以及三大特性
- 我们把数据和数据之间的相互操作关系放到一起总结为–对象。所有的操作都是基于对象来进行的。
- 面向对象的的特征:封装、继承、多态
- 封装:我们把数据访问和数据操作部分绑定起来,提供对外的访问接口。所有的操作都经过统一的入口。我们不需关注内部怎么运行操作,只需调用即可,同时也保证其安全性。
- 继承:继承就是从新的类中(父类、基类)得到继承信息来创建新的类(子类、派生类)的过程。使得程序之间可以有一定的延续性。可以达到代码简化,易于编写维护,调理也更加的清晰。
- 多态:同样的对象引用在调用同样的方法时可以做不同的事情。方法的重载(overload)是编译时多态也称之为前绑定,方法的重写是运行时多态也称之为后绑定。
面向对象五大原则
- 单一职责:各司其职–提升效率
- 开闭原则:一个模块在拓展性能方面是开放的,在更改性能方面是封闭的。你可以去拓展但不可以去改变之前的东西。
- 替换原则:子类可以替换父类出现在任何父类出现的地方。
- 依赖原则:A-B组件之间有依赖时必须先实现A才能进行。
- 接口分离原则:模块之间要通过接口来进行隔离,而不是通过类进行强耦合。(高内聚、低耦合)
方法重写和重载的区别
-
重载:
重载的方法名一致,参数中的个数、类型、顺序不同重载与方法返回值无关,存在与父类,子类和同类中重载可以有不同的修饰符和异常抛出
-
重写:
重写的参数列表,返回值必须一致构造方法不能重写,final方法不能重写,static方法不能重写访问权限不能比父类更低不能抛出比父类更多的异常
类变量、成员变量和局部变量
- 类变量是归属类的变量,是用来定义类的属性,有static修饰也称之为静态变量,可以通过类名.变量名来获取。
- 成员变量归属与类的示例变量,没有用static来修饰。存在与类之内和方法之外。只能通过类对象.变量名来获取
- 局部变量是在方法体中定义的变量,其作用域是类的开始和结束。
java基本数据类型
bate(字节)、int(整型)、long(长整型)、short(短整型)、bool(布尔)、double(双精度)、float(浮点型)、char(字符)
自动拆装箱
javase5推出了自动拆装箱,Integer i= 10; --这是装箱,自动根据数值来创建对象;int j = i; --这是拆箱,自动将包装类转换为基本数据类型;
String
详见 http://guangmuhua.com/articleDetail/52
集合
详见 http://guangmuhua.com/articleDetail/161
抽象类(abstract class)和接口(interface)区别
-
抽象类(为继承而定义的,只定义了方法,没有具体实现)
可以定义构造器、可以有抽象方法和具体方法、抽象类中的接口都是public类型的、抽象类中可以定义成员变量、抽象类中可以包含静态方法、有抽象方 法时必须声明为抽象类,而抽象类未必有抽象方法、一个类中只能继承一个抽象类接口
-
接口 (泛指别人可以调用的方法或者函数,实现一个接口是必须实现其中的全部方法)
接口中不能定义构造器、接口中的方法全部都是抽象方法、接口中不能有静态类、一个类可以实现多个接口
https://www.guangmuhua.com/articleDetail/143