Java面向对象编程思想
面向对象三个特征:封装、继承、多态
封装:
语法:属性私有化(private)、提供相对应的get/set 的方法进行访问(public)、
在set/get的方法中对属性的数据 做相对应的业务逻辑的判断
思想:封装外面的程序不能直接访问本类的属性,需要通过本类提供的方法间
接访问本类的属性,从而提高代码的安全性。
涉及到的其他的知识点:
构造方法:用来描述对象创建过程,可以通过构造方法快速创建对象。
this关键字:代表本类对象,调用本类的属性、方法、构造方法。
方法重载:方法名相同,参数列表不相同
继承:
语法:子类 extends 父类
思想: 多个类所描述的有共同的特征或行为,就可以将这些
类中共同的部分抽取出来建立他们的父类。
继承的好处:子类共用父类的代码,提高了代码的重用性;代码
后期扩展和维护,只需添加对应的子类即可。
涉及到的其他的知识点:
super关键字:代表父类的对象,调用父类的属性、方法、构造方法。
abstract关键字:抽象,修饰类、修饰方法。
static关键字:静态,修饰属性、方法、代码块、内部类
final关键字:最终,修饰属性、方法、类
方法重写:方法名相同,参数列表相同,返回值类型相同,
修饰符大于或等于父类的访问修饰符
多态:
语法:父类 对象名=new 子类();
思想:父类型的引用可以指向内存中的子类对象的内存空间,
就可以方便在设计方法的参数和返回值类型的时候,可以
设计成父类对象,这样的方法在实现时比较简洁,在后期
进行扩展时,方法比较容易。
在代码中,多态的使用更多的是父类引用指向子类对象,
会自动类型转换(向上转型),但是有时候也需要调用子类
中自己的东西,这个时候就需要还原子类,叫强制类型转换
(向下转型),转的时候要先使用instanceof运算符做类型的
判断。
Java面向对象编程思想的更多相关文章
- java面向对象编程思想的理解
1.我们总说java是一门面向对象编程的语言,那什么是面向对象呢? 我是这样理解的,对象是事物存在的实体,如,猪.狗,花早等都是对象,对象由两部分组成.面向对象编程的三大特点:继承,多态,类是封装对象 ...
- LY.JAVA面向对象编程思想概述
面向对象 2018年7月5日 逆袭之旅DAY09 2018年7月5日 逆袭之旅DAY09 2018-07-07
- Java 面向对象编程——第一章 初识Java
第一章 初识Java 1. 什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...
- java面向对象的思想(java三大特性)
用通俗易懂的语言来理解java面向对象的思想 大家都知道,java是面向对象的编程,掌握面向对象的编程思想是掌握java编程语言的核心,但是很多人在面向对象方面都存在或多或少的误区,有的是刚学完C语言 ...
- (一)如何理解java面向对象编程
哲学中,事物总是螺旋式上升,波浪式前进.因而编程也逐渐向人类更容易理解的方向前进,多年来人们苦苦追求的编程境界 : 高扩展性(extensibility),高复用性(reuseable).java语言 ...
- Java面向对象OOP思想概述
目录 OOP思想(Object Oriented Programming) 类和对象 接口 抽象类 OOP三大特性 封装 继承 多态 OOP复用的形式 OOP思想(Object Oriented Pr ...
- 面向对象编程思想(OOP)
本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞 ...
- IT第二十天 - 面向对象编程思想、抽象类、异常处理、程序操作日志记录、本周总结 ★★★
IT第二十天 上午 面向对象编程思想 1.组装电脑的设计: (1)电脑的组成:显示器+机箱 (2)机箱的组成:电源+主板+硬盘 (3)主板所包含的部件:cpu+内存+PCI接口+usb接口 (4)PC ...
- 面向对象编程思想(前传)--你必须知道的javascript
在写面向对象编程思想-设计模式中的js部分的时候发现很多基础知识不了解的话,是很难真正理解和读懂js面向对象的代码.为此,在这里先快速补上.然后继续我们的面向对象编程思想-设计模式. 什么是鸭子类型 ...
随机推荐
- idea maven指定编译参数
"Settings" > "Build, Execution, Deployment" > "Compiler" > &q ...
- kube-liveboard: kubernetes集群可视化工具
kube-liveboard 随着kubernetes 集群的增大,对于集群数据选取恰当的形式进行展示有助于直观反映集群的状态,方便发现集群的短板,了解集群的瓶颈.因此,笔者做了kube-livebo ...
- Spring HATEOAS的简单认识
HATEOAS: 超媒体作为应用程序状态引擎(HATEOAS)是REST应用程序体系结构的一个组件,它将其与其他网络应用程序体系结构区分开来. 使用HATEOAS,客户端与网络应用程序交互,其应用程序 ...
- freeswitch替换默认保持音乐
1.编译vars.xml文件 上面为注释,下面为新增.指定系统音乐文件路径,reloadxml即可!
- 如何解决 React 官方脚手架不支持 Less 的问题
说在前面 create-react-app 是由 React 官方提供并推荐使用构建新的 React 单页面应用程序的最佳方式,不过目前版本(1.5.x)其构建的项目中默认是不支持动态样式语言 Les ...
- 【python 3】 列表方法操作汇总
基础数据类型 : list list主要操作:索引.切片.查询.修改.增加.删除.扩展.统计.排序.获取下标.拷贝…… 1.1 索引 由图: list正向下标从0开始 list反向下标从-1开始 ...
- spring cloud之Feign的使用
原始的调用客户端的方式是通过注入restTemplate的方式 restTemplate.getForObject("http://CLIENT/hello", String.cl ...
- 解决ubuntu无法使用root用户启动Google Chrome浏览器
1.找到Chrome的路径 # whereis google-chrome google-chrome: /usr/bin/google-chrome /usr/share/man/man1/goog ...
- selenium+java二元素定位
页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法. 测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 自动化测试步骤 定位元素 ...
- rtf乱码解决办法
首先,阐述下rtf,富文本格式文档,目前常用来做模板: 我遇到的问题是rtf中替换后的文本显示是正常的,rtf直接转pdf就不正常了,通过notpad++ 打开后发现rtf本身内容编码是我没有见过的( ...