Java面向对象编程思想
面向对象三个特征:
封装、继承、多态 封装:
语法:
属性私有化(private)、提供相对应的get/set 的方法进行访问(public)、
在set/get的方法中对属性的数据 做相对应的业务逻辑的判断
思想:
封装外面的程序不能直接访问本类的属性,需要通过本类提供的方法间
接访问本类的属性,从而提高代码的安全性。
涉及到的其他的知识点:
构造方法:用来描述对象创建过程,可以通过构造方法快速创建对象。
this关键字:代表本类对象,调用本类的属性、方法、构造方法。
方法重载:方法名相同,参数列表不相同
继承:
语法:子类 extends 父类
思想: 多个类所描述的有共同的特征或行为,就可以将这些
类中共同的部分抽取出来建立他们的父类。
继承的好处:子类共用父类的代码,提高了代码的重用性;代码
后期扩展和维护,只需添加对应的子类即可。
涉及到的其他的知识点:
super关键字:代表父类的对象,调用父类的属性、方法、构造方法。
abstract关键字:抽象,修饰类、修饰方法。
static关键字:静态,修饰属性、方法、代码块、内部类
final关键字:最终,修饰属性、方法、类
方法重写:方法名相同,参数列表相同,返回值类型相同,
修饰符大于或等于父类的访问修饰符
多态:
语法:父类 对象名=new 子类();
思想:父类型的引用可以指向内存中的子类对象的内存空间,
就可以方便在设计方法的参数和返回值类型的时候,可以
设计成父类对象,这样的方法在实现时比较简洁,在后期
进行扩展时,方法比较容易。
在代码中,多态的使用更多的是父类引用指向子类对象,
会自动类型转换(向上转型),但是有时候也需要调用子类
中自己的东西,这个时候就需要还原子类,叫强制类型转换
(向下转型),转的时候要先使用instanceof运算符做类型的
判断。
转载于:https://www.cnblogs.com/luocixin/p/6896083.html
Java面向对象编程思想相关推荐
- 我们程序员眼中的对象-看完华华的文章妈妈再也不担心我找不到对象了-Java面向对象编程思想理解系列(1)
大家好!!!我叫霜华,是一个帅到没天理 骚里骚气,热爱人生与绿色 是一个不像程序员的程序员 作为一个在java这门领域沉迷一年半的人,如今在技术栈广度和深度 还是业务能力在客观层面讲确实进步迅速 (可 ...
- java面向对象编程思想的理解
1.我们总说java是一门面向对象编程的语言,那什么是面向对象呢? 我是这样理解的,对象是事物存在的实体,如,猪.狗,花早等都是对象,对象由两部分组成.面向对象编程的三大特点:继承,多态,类是封装对象 ...
- java面向对象编程思想_Java面向对象编程思想的理解
1.我们总说java是一门面向对象编程的语言,那什么是面向对象呢? 我是这样理解的,对象是事物存在的实体,如,猪.狗,花早等都是对象,对象由两部分组成.面向对象编程的三大特点:继承,多态,类是封装对象 ...
- java面向对象编程思想_Java面向对象编程思想
面向对象三个特征:封装.继承.多态 封装: 语法:属性私有化(private).提供相对应的get/set 的方法进行访问(public). 在set/get的方法中对属性的数据 做相对应的业务逻辑的 ...
- Java学习——面向对象编程思想
目录 一. 基本概念 二. 面向对象与面向过程的区别 三. 面向对象程序设计的类与对象 3.1 对象 3.2 类 四. 面向对象的四大特征 4.1 抽象 4.2 继承 4.3 封装 4.4 多态 1) ...
- java 以一个例子来理解面向对象编程思想
在面向对象的编程中,面向对象的应用是检验你对现实中实际物体和及其关系的抽象能力.在实际编程过程中,你的能力并不是你掌握了多少新的技术,而是对你当前问题的认识的深度,当你理解的足够深的时候,你的框架就出 ...
- CoreJava学习第五课 --- 进入第二阶段:面向对象编程思想
面向对象编程思想 1.面向过程 从计算机执行角度出发 ,代码执行过程核心为从程序的运行过程出发,构建编程思路,例: 哥德巴赫猜想 // 面向过程1 用户输入一个数n2 验证数字的正确性2.1 正确 ...
- 面向对象编程思想概览(一)类和对象
一.简介 生活中有许多技巧值得我们在程序设计中模仿和借鉴.采用类的思想可以方便地把具有相同属性和方法归为一类,从而简化编程.本讲利用生活的常见示例,浅显通俗的语言,生动地介绍了面向对象编程中类与对象的 ...
- 面向对象编程思想概览(三)继承
一.简介 本讲以大家耳熟能详的<西游记>中的唐僧师徒四人为例,介绍了类的继承的概念和实现方法,总结了继承的特性和优点,帮助同学们理解面向对象编程中继承的用法,进而掌握面向对象程序设计的基本 ...
最新文章
- mysql工具navicat用户授权_Navicat使用教程:在Navicat Premium中管理MySQL用户 - 第4部分:权限管理器工具...
- 61条面向对象设计的经验原则
- Java客户端操作zookeeper:获取/节点的子节点代码示例
- 机房服务器虚拟化,服务器虚拟化在数据中心机房中的应用
- android 打印机打印html,Android下通过wifi调用打印机打印
- 第4课第4节_Android灯光系统_源码分析_电池灯
- 『操作系统』微内核结构的操作系统几何?(优缺点)
- Python【02】【基础部分】- B
- 在本地进行开发工作置chrome谷歌浏览器解决跨域问题
- Stacking 模型融合详解(附python代码)
- java jnlp_Java Web Start 与jnlp结合实例讲解
- java 数组中存储26个英文字母_利用数组打印26个英文字母
- [转]制作一个64M的U盘启动盘(mini linux + winpe +dos toolbox)
- 萧红_拔剑-浆糊的传说_新浪博客
- T32. High.最长有效括号
- 抗去除花指令(一)——花指令基础
- 解决docker容器映射信息修改问题
- 「自控原理」3.3 稳定性与稳态误差、时域校正
- 计算机初级操作员试题汇编,计算机初级操作员试卷.doc
- Java_运动员和教练案例代码实现
热门文章
- AI让硬件说话,这就是未来物联网
- 「无心插柳柳成荫」的乔姆斯基 | 追溯 AI 大师系列
- 机器学习基础--基本术语
- 人工智能科普|极大似然估计——机器学习重要知识点
- SAP MM MIGO Cancellation可以用于冲销上次冲销而产生的物料凭证
- 迁移学习简介(transfer learning)
- 深度丨吴恩达走了,林元庆也走了,百度研究院到底怎么了?
- 骆利群院士最新Science综述:神经环路架构,激发新的AI
- 改变宇宙之前,GPT-3最先改变的可能是OpenAI
- 清华大学计算机系教授:马少平——计算机是如何实现智能的(附直播回放)...