面向对象三个特征:封装、继承、多态
封装:
    语法:属性私有化(private)、提供相对应的get/set 的方法进行访问(public)、

在set/get的方法中对属性的数据 做相对应的业务逻辑的判断
    思想:封装外面的程序不能直接访问本类的属性,需要通过本类提供的方法间

接访问本类的属性,从而提高代码的安全性。
    涉及到的其他的知识点:
    构造方法:用来描述对象创建过程,可以通过构造方法快速创建对象。
    this关键字:代表本类对象,调用本类的属性、方法、构造方法。
    方法重载:方法名相同,参数列表不相同
继承:
    语法:子类  extends  父类
    思想: 多个类所描述的有共同的特征或行为,就可以将这些
          类中共同的部分抽取出来建立他们的父类。
    继承的好处:子类共用父类的代码,提高了代码的重用性;代码
                后期扩展和维护,只需添加对应的子类即可。
    涉及到的其他的知识点:
     super关键字:代表父类的对象,调用父类的属性、方法、构造方法。
     abstract关键字:抽象,修饰类、修饰方法。
     static关键字:静态,修饰属性、方法、代码块、内部类
     final关键字:最终,修饰属性、方法、类
     方法重写:方法名相同,参数列表相同,返回值类型相同,

修饰符大于或等于父类的访问修饰符
多态:
    语法:父类  对象名=new  子类();
    思想:父类型的引用可以指向内存中的子类对象的内存空间,
    就可以方便在设计方法的参数和返回值类型的时候,可以
    设计成父类对象,这样的方法在实现时比较简洁,在后期
    进行扩展时,方法比较容易。
    在代码中,多态的使用更多的是父类引用指向子类对象,
    会自动类型转换(向上转型),但是有时候也需要调用子类
    中自己的东西,这个时候就需要还原子类,叫强制类型转换
    (向下转型),转的时候要先使用instanceof运算符做类型的
    判断。

Java面向对象编程思想的更多相关文章

  1. java面向对象编程思想的理解

    1.我们总说java是一门面向对象编程的语言,那什么是面向对象呢? 我是这样理解的,对象是事物存在的实体,如,猪.狗,花早等都是对象,对象由两部分组成.面向对象编程的三大特点:继承,多态,类是封装对象 ...

  2. LY.JAVA面向对象编程思想概述

    面向对象 2018年7月5日  逆袭之旅DAY09 2018年7月5日  逆袭之旅DAY09 2018-07-07

  3. Java 面向对象编程——第一章 初识Java

      第一章    初识Java 1.  什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...

  4. java面向对象的思想(java三大特性)

    用通俗易懂的语言来理解java面向对象的思想 大家都知道,java是面向对象的编程,掌握面向对象的编程思想是掌握java编程语言的核心,但是很多人在面向对象方面都存在或多或少的误区,有的是刚学完C语言 ...

  5. (一)如何理解java面向对象编程

    哲学中,事物总是螺旋式上升,波浪式前进.因而编程也逐渐向人类更容易理解的方向前进,多年来人们苦苦追求的编程境界 : 高扩展性(extensibility),高复用性(reuseable).java语言 ...

  6. Java面向对象OOP思想概述

    目录 OOP思想(Object Oriented Programming) 类和对象 接口 抽象类 OOP三大特性 封装 继承 多态 OOP复用的形式 OOP思想(Object Oriented Pr ...

  7. 面向对象编程思想(OOP)

    本文我将从面向对象编程思想是如何解决软件开发中各种疑难问题的角度,来讲述我们面向对象编程思想的理解,梳理面向对象四大基本特性.七大设计原则和23种设计模式之间的关系. 软件开发中疑难问题: 软件复杂庞 ...

  8. IT第二十天 - 面向对象编程思想、抽象类、异常处理、程序操作日志记录、本周总结 ★★★

    IT第二十天 上午 面向对象编程思想 1.组装电脑的设计: (1)电脑的组成:显示器+机箱 (2)机箱的组成:电源+主板+硬盘 (3)主板所包含的部件:cpu+内存+PCI接口+usb接口 (4)PC ...

  9. 面向对象编程思想(前传)--你必须知道的javascript

    在写面向对象编程思想-设计模式中的js部分的时候发现很多基础知识不了解的话,是很难真正理解和读懂js面向对象的代码.为此,在这里先快速补上.然后继续我们的面向对象编程思想-设计模式. 什么是鸭子类型 ...

随机推荐

  1. java导出excel,多表头合并

    要求结果图如下: 有空补充具体逻辑 参考:https://blog.csdn.net/dj0721/article/details/72463042 HSSFColor  背景颜色选择  参考:htt ...

  2. 一步步学会用docker部署应用(nodejs版)

    一步步学会用docker部署应用 docker是一种虚拟化技术,可以在内核层隔离资源.因此对于上层应用而言,采用docker技术可以达到类似于虚拟机的沙盒环境.这大大简化了应用部署,让运维人员无需陷入 ...

  3. Gradle构建多模块项目

    通常我在使用Maven构建项目的时候是将应用项目划分为多个更小的模块. Gradle 项目也拥有多于一个组件,我们也将其称之为多项目构建(multi-project build). 我们首先创建一个多 ...

  4. go-switch特点

    程序中遇到有枚举分支逻辑时,需要用到 switch 代替多个 if else 判断. 学习过程遇到一些与C#不同点,记录下. 语法: switch expr { case x1 : //expr为x1 ...

  5. C#中的反射解析及使用(转)

    原文:https://cloud.tencent.com/developer/article/1129356 1.对C#反射机制的理解 2.概念理解后,必须找到方法去完成,给出管理的主要语法 3.最终 ...

  6. html2canvas文字重叠(手机端)

    发现情况: 1.设置文字居中,文字自动换行后文字有重叠   text-align: center; 解决办法: text-align: left; text-align: justify;等 2.使用 ...

  7. 微信小程序云开发更换云开发环境

    小程序云开发环境初始化默认是第一个环境,但是我们可以指定环境id //app.js App({ onLaunch: function () { if (!wx.cloud) { console.err ...

  8. js清除childNodes中的#text(选项卡中会用到获取第一级子元素)

    我们一般为了代码整洁代码都会换行,如上面所述. 获取div1节点下的childNodes var div = document.getElementById('div1') var child = d ...

  9. Inception部署

    Inception是集审核.执行.回滚于一体的一个SQL自动化运维系统,基于MySQL代码修改,官方文档地址:https://mysql-inception.github.io/inception-d ...

  10. 《c++ concurrency in action》读书笔记2--线程管理

    一.线程的启动 1. 每个c++程序至少有一个线程,是由C++ runtime启动的 2. 在c++11中,通过一个std::thread 对象启动线程.可以向std::thread传递一个函数,或者 ...