java基础--面对对象
面对对象--概述
什么是对象?
+---->对象可以泛指一切现实中存着的事物
+---->类是对象的抽象集合
什么是面对对象?
+--->万物皆对象,面对对象实际就是人与万物接触====》面对对象
为什么要使用面对对象语言?
+--->面对对象符合现实生活,是计算机语言更加符合现实逻辑,从而实现更好的为人服务。
面对对象有什么好处?
+--->相比面对过程语言,面对过程的--->事事亲为 。
+--->面对对象相当于请他人做事,能够快速的完成,讲究相互协调。
如何创建对象?
用new关键字创建一个对象,new专门用于调用类的构造方法
---->相当于指向“堆”中的一个内存段
面对对象的三大特征
1、封装
2、继承
3、多态
+---->封装
+-->什么是封装
+---->封装就是该露的露,不该露的不露。
+--->比如笔记本就是个封装,他把很多东西都封装在一起,我们不需要知道内部的东西,只需要会操作他就行了,而且还有提供接口给我们使用。
为什么要封装?
+---> 属性的读写控制,数据的安全检查(提高安全性)
----> 隐藏实现细节, 减少修改、扩展类时对外界组件的影响,增强易维护性
----> 提高软件的可复用性
怎么封装?
使用private修饰
再提供get(),set()方法的接口使用。
-----------------------------------------------------
+---->继承
+-->什么是继承?
+---->将很多事物共有的属型和特征(方法)抽取出来形成一个类(父类),其他每种类型就是子类,子类与父类的关系就是继承。
为什么要继承?
+--->提高代码复用性
+--->约定好共同行为,相当于定义一套行为标准,提高代码的灵活性和扩展性。
怎么继承?
+--->使用关键字extends
Final 的特性
1、被final修饰的类不能被继承(最终类)
2、被final修饰的变量不能被修改(静态常量)
3、被final修饰的方法不能被重写(模板设计)
+---->多态
+-->什么是多态?
+---->一种事物的多种状态
为什么要使用多态?
1.可替换性(substitutability)
2.可扩充性(extensibility)
3.接口性(interface-ability)
4.灵活性(flexibility)
5.简化性(simplicity)
实现多态的条件?
1、继承
2、重写(可以没有)
3、父类的引用指向子类的对象
什么是引用?
+--->相当于指针?
+------->内存地址----->指向存放数据的内存块
java基础--面对对象的更多相关文章
- Java学习——面对对象的思想入门
本文是看过<head first Java>之后的一点感悟,写点东西帮忙以后回忆,Java目前在我的工作中用到还不多,而我又对面对对象的编程非常的感兴趣.曾经在MFC平台上写过 ...
- java基础(二) -对象和类
Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一 ...
- Java基础03-12_对象比较
对象比较 如果说现在有两个数字要判断是否相等,可以使用"=="完成 如果是字符串要判断是否相等使用"equals()" 但是如果说现在有一个自定义的类,要想判断 ...
- JAVA基础之对象的初始化
本文主要记录JAVA中对象的初始化过程,包括实例变量的初始化和类变量的初始化以及 final 关键字对初始化的影响.另外,还讨论了由于继承原因,探讨了引用变量的编译时类型和运行时类型 一,实例变量的初 ...
- java基础(一)对象
对象的创建 Test test = new Test(); Test test = new Test("a"); 其实,对象被创建出来时,对象就是一个对象的引用,这个引用在内存中为 ...
- Java基础---其他对象
第一讲 System类 一.概述 1.System是描述系统一些信息的类,类中的属性和方法都是静态的.不能被实例化,没有提供构造函数. 2.字段摘要 out:标准输出流.默认是控制台. in: ...
- Java基础 -- 持有对象(容器)
一 容器的用途 如果对象的数量与生命周期都是固定的,自然我们也就不需要很复杂的数据结构. 我们可以通过创建引用来持有对象,如 Class clazz; 也可以通过数组来持有多个对象,如 Class[] ...
- Java 基础之一对象导论
对象导论 1.1 抽象过程 所有编程语言都提供抽象机制.人们所能解决的问题的复杂性直接取决于抽象的类型和质量. 汇编语言是对底层机器的轻微抽象. 我们将问题空间中的元素及其再解空间中的表示称为对象.这 ...
- Java基础之对象序列化
1. 什么是Java对象序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长.但在现 ...
随机推荐
- 提示让IE8以下版本的浏览器去更新浏览器
需求: 强制让IE进行页面渲染时候,用最新的方式渲染,并提示让IE8以下的版本去更新浏览器并给一个连接地址 那,如何满足? <!DOCTYPE html> <html lang=&q ...
- JAVAEE——BOS物流项目01:学习计划、搭建环境、主页设计(jQuery EasyUI)
1 学习计划 1.项目概述 项目背景介绍 2.搭建项目开发环境 数据库环境 maven项目搭建 svn环境搭建 3.主页设计(jQuery EasyUI) layout页面布局 accordion折叠 ...
- The server's host key is not cached in the registry. You have no guarantee that the server……
使用putty中的pscp.exe ,可以通过脚本方式实现windows向linux上传文件,但pscp.exe第一次运行时必须手工输入确认信息,本文主要解决掉初次运行时的人工交互,彻底实现静默运行. ...
- mysql数据库安装注意事项:
mysql数据库安装注意事项: https://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html(安装教程) 注意语言设置为gbk可以解决 ...
- 开发快速定位需求(Coding之前的工作)
自我总结,求高人指点,欢迎拍砖! 目的:快速定位feature需求,避免浪费不必要的时间 需求目的:它要用来解决什么问题?(客户需求,bug fixed,学习新技术) 需求对象:它针对的对象是谁?(明 ...
- jQuery中的DOM操作------复制及包裹节点
1.复制节点: 如果单击<li>元素后需要再复制一个<li>元素,可以用clone()方法来完成: $(this).clone().appendTo("ul" ...
- 排序算法之NB三人组
快速排序 思路: 例如:一个列表[5,7,4,6,3,1,2,9,8], 1.首先取第一个元素5,以某种方式使元素5归位,此时列表被分为两个部分,左边的部分都比5小,右边的部分都比5大,这时列表变成了 ...
- 初识DIV+CSS
div元素是用来为html文档内大声(block-level)的内容提供结构和背景的元素. css是Cascading Style Sheets(层叠样式表单)的缩写,是一种用来表现html或xml等 ...
- python中的函数对象与闭包函数
函数对象 在python中,一切皆对象,函数也是对象 在python语言中,声明或定义一个函数时,使用语句: def func_name(arg1,arg2,...): func_suite 当执行流 ...
- Installing VirtualBox
The (VirtualBox) website has a lot of quality documentation including: End-user documentation Techni ...