Java基础知识
2016-06-03 19:00
323 查看
封装、继承、多态、抽象是面向对象的基本概念,也是java最精髓的地方。
想要从面向过程转到面向对象,就要充分的理解这些概念。
抽象
抽象是通过特定的实例抽取共同特征以后形成概念的过程。它强调主要特征,忽略次要特征。一个对象是现实世界中一个实体的抽象,一个类足一组对象的抽象,抽象是一种单一化的描述,它强调给出与应用相关的特性,抛弃不相关的特性。
类就是抽象的产物,对现实中具有相同特征的物体抽象出具体的实例,抽象是一种方法,通俗来说就是我们对现实世界的概念化,就像人类。
封装
封装是将相关的概念组成一个单元,然后通过一个名称来引用它。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。
封装的存在使得java有了更好的安全性和隐蔽性,并且不杂乱,更明显清晰的表明各个类的意义。
多态
多态性是一种方法,这种方法使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。多态性使得一个属性或变量在不同的时期可以表示不同类的对象。
例如在函数体中,相同的函数名不同的参数给予会调用不同的函数,这就很方便也很好的解决了现实生活中的一些问题,遇到歧义时候看函数参数就知道了。
继承(主要写写java的继承)
什么是继承
继承表示类之间的层次关系,这种关系使得某类对象可以继承另外一类对象的特征(attributes)和能力(operations),继承又可分为单继承和多继承,单继承是子类只从一个父类继承,而多继承中的子类可以从多于一个的父类继承,Java是单继承的语言,而C++允许多继承。
继承的好处就在于继承提供了软件复用功能,是在类的基础上构造、建立和扩充新类的最有效的手段,增加程序了的重用性和可维护性。
普通方法的继承和构造方法的处理
特殊:子类实体指向父类引用
例:
People p1 = new Student();
People p1 :声明一个学生类(引用)
new Student :创建一个学生(实体)
这里涉及了数据保存和传递方式的问题,传递方式有两种:值传递和引用传递。
值传递指的是在方法调用时,传递的参数是按值的拷贝传递,创建和声明都在栈中进行。
八大基础数据类型都是值传递:boolean,char,byte,short,int,long,float,double。
除了八大基础类型,其余数据类型皆称之为复杂数据类型,为引用传递。
引用传递指的是在方法调用时,传递的参数是按引用进行传递,其实传递的引用的地址,也就是变量所对应的内存空间的地址。引用传递在栈里保存声明,堆里保存创建。
访问修饰符
public、protected、默认(空)、private
四种访问修饰符的访问权限不同,通过一张图来表示
继承中关键字用法
extents
Final
Super
This
想要从面向过程转到面向对象,就要充分的理解这些概念。
抽象
抽象是通过特定的实例抽取共同特征以后形成概念的过程。它强调主要特征,忽略次要特征。一个对象是现实世界中一个实体的抽象,一个类足一组对象的抽象,抽象是一种单一化的描述,它强调给出与应用相关的特性,抛弃不相关的特性。
类就是抽象的产物,对现实中具有相同特征的物体抽象出具体的实例,抽象是一种方法,通俗来说就是我们对现实世界的概念化,就像人类。
封装
封装是将相关的概念组成一个单元,然后通过一个名称来引用它。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。
封装的存在使得java有了更好的安全性和隐蔽性,并且不杂乱,更明显清晰的表明各个类的意义。
多态
多态性是一种方法,这种方法使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。多态性使得一个属性或变量在不同的时期可以表示不同类的对象。
例如在函数体中,相同的函数名不同的参数给予会调用不同的函数,这就很方便也很好的解决了现实生活中的一些问题,遇到歧义时候看函数参数就知道了。
继承(主要写写java的继承)
什么是继承
继承表示类之间的层次关系,这种关系使得某类对象可以继承另外一类对象的特征(attributes)和能力(operations),继承又可分为单继承和多继承,单继承是子类只从一个父类继承,而多继承中的子类可以从多于一个的父类继承,Java是单继承的语言,而C++允许多继承。
继承的好处就在于继承提供了软件复用功能,是在类的基础上构造、建立和扩充新类的最有效的手段,增加程序了的重用性和可维护性。
普通方法的继承和构造方法的处理
特殊:子类实体指向父类引用
例:
People p1 = new Student();
People p1 :声明一个学生类(引用)
new Student :创建一个学生(实体)
这里涉及了数据保存和传递方式的问题,传递方式有两种:值传递和引用传递。
值传递指的是在方法调用时,传递的参数是按值的拷贝传递,创建和声明都在栈中进行。
八大基础数据类型都是值传递:boolean,char,byte,short,int,long,float,double。
除了八大基础类型,其余数据类型皆称之为复杂数据类型,为引用传递。
引用传递指的是在方法调用时,传递的参数是按引用进行传递,其实传递的引用的地址,也就是变量所对应的内存空间的地址。引用传递在栈里保存声明,堆里保存创建。
访问修饰符
public、protected、默认(空)、private
四种访问修饰符的访问权限不同,通过一张图来表示
| 当前类 | 当前类 | 子类 | 外部包 |
public | ok | ok | ok | ok |
protected | ok | ok | ok | no |
空 | ok | ok | no | no |
private | ok | no | no | no |
继承中关键字用法
extents
Final
Super
This
相关文章推荐
- 线索二叉树及其Java代码实现
- 线索二叉树及其Java代码实现
- springmvc 入门讲解注释
- 树和森林的相互转换的Java实现
- 树和森林的相互转换的Java实现
- java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice
- java反射
- java-RocketMQ实验
- Java enum类的定义即使用
- JAVA生成XML
- spring-session使用配置(分布式共享session配置)
- spring 框架搭建并创建第一个小程序
- class diagram for java
- 使用Netbeans开发调试OpenJDK中的HotSpot
- shiro与springMVC整合
- leetcode-Java-18. 4Sum
- 【转】java获取当前路径的几种方法
- java split
- 《java入门第一季》之HashSet存储元素保证唯一性的代码及图解
- 《java入门第一季》之HashSet存储元素保证唯一性的代码及图解