1、封装:把一些数据类型(属性)和有关数据类型的操作(方法)封装起来,形成一个不可分开的实体(类);给内部的属性私有化,提供公开的方法。当外部需要访问时,可以不用管实体内部的具体逻辑关系,通过对象调用类内部的方法就行了;

优点:信息隐藏(安全性)、简化操作;

例子:一个账户类,属性有:账号、密码等;方法有存钱、取钱等;因为要保护个人信息,所以将属性私有化,然后提供公开的get,set方法,这样就不用每创建一个账户就要去改账号和密码了,只需要通过这个类的实例调用get、set方法就行了。

2、继承:将一些公有的特性(属性)和行为(方法)拿出来封装在一个类(父类)中,其他类可以通过继承这个类来得到这些属性和方法,就不用每次都重新定义了;

优点:代码复用性好、简化操作;

例子:一个Person类,里面有姓名、年龄等属性,有说话、吃饭等方法;然后定义一个学生类时,只用继承Person类,就可以不需要再定义这些属性和方法(也可以重新定义),只要分别赋值就可以了。

3、多态:程序中定义的引用变量所指向的具体类或者通过这个引用变量发出的方法调用,在编译的时候是不确定的,只有到运行时才知道具体指向哪个类,具体调用哪个方法;

优点:灵活、抽象、行为共享、代码共享

例子:Person  p=new  Student()这就是多态;在编译时,p指向哪个类,p调用的方法是哪个类里的都是不确定的,在运行时才确定;

多态里有向上造型和向下造型;向上造型是自动转化的,小类型自动转换成大类型;向下造型是强制的,不是所有时候都可以转化;如:

Father  fa=new  Father();

Child   ci=new  Child();

ci=(Child)fa;这样编译能通过,但是运行时会出现java.lang.ClassCastException (类转换异常)

如果是:创建父类对象,实例化子类就可以进行向下造型;

补充:多态发生的前提:

1、重载:方法签名不同:参数类型不同、参数个数不同、参数顺序不同,方法名要相同;与返回类型、访问权限无关;

2、重写:a、方法签名要完全相同;

b、访问权限子类重写的方法不能小于父类里的方法(更开放);

c、子类重写的方法抛出的异常应该和父类方法抛出相同或者是父类方法抛出的异常的子类;

d、返回类型:如果是基本类型,则要相同;如果是引用类型,子类方法应该与父类相同或者是父类的子类(要有包含关系)

多态中经常用到一个关键词instanceof:    x instanceof A:检验x是否为类A的对象,返回值为boolean型。常用在equals方法的重写里面。

4、抽象:从一些已有的事物中抽取出我们所关心的特性(属性)和行为(方法),从而形成一个新的事物的过程。

优点:代码复用性好,操作方便

例子:各种各样的汽车,我们看到都知道是车,是因为我们都有一个抽象的概念,比如说:四个轮子,能跑等等,这就是抽象!

简述Java面向对象的基本思想_Java面向对象的基本思想理解相关推荐

  1. java 面向对象继承的思想_Java面向对象思想!

    刚开始学习Java的时候,一个人跌跌撞撞摸索着往前走,很多东西理解的也懵懵懂懂,后来实践的多了,才慢慢清楚:许多东西虽然很基础但是却很重要,是需要反复思考和加深理解的.在此分享一些归纳总结后的技术干货 ...

  2. java opp 是什么意思_Java面向对象学习

    Java面向对象学习 面向对象思想 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考.最后,才对某个分类下的细节进行面向过程的思索 面向对象适合处理复杂的问题, ...

  3. java面向对象程序设计题库_java面向对象程序设计习题集.doc

    java面向对象程序设计习题集.doc 1JAVA 面向对象程序设计习题集 23目 录引 言 .6第一章 JAVA 基础 7一.填空题 7二.判断题 9三.选择题 9四.程序阅读题 26第二章 控制结 ...

  4. java面向对象编程的思想_java面向对象编程思想

    Java与面向对象 一.类与对象 (1)对象是Java程序的核心,对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体 (2)类是用来创建同一类型的对象的"模板",在一个类 ...

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

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

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

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

  7. java面向对象编程思想_Java面向对象编程思想

    面向对象三个特征:封装.继承.多态 封装: 语法:属性私有化(private).提供相对应的get/set 的方法进行访问(public). 在set/get的方法中对属性的数据 做相对应的业务逻辑的 ...

  8. java 面向对象继承的思想_Java面向对象思想

    Java类的定义: 成员变量会默认初始化,局部变量不会默认初始化. 如何在内存中区分类和对象: ♦类是静态的概念,代码区 ♦对象是new出来的,位于堆内存,类的每一个成员变量在不同的对象中都有不同的值 ...

  9. java class对象创建时机_Java面向对象编程-类的声明周期

    第十章 类的生命周期 10.1 Java虚拟机及程序的生命周期 当通过java命令运行一个Java程序时,就启动了一个Java虚拟机进程.Java虚拟机进程从启动到终止的过程,称为Java虚拟机的生命 ...

  10. java 面向对象的特性 抽象_java面向对象的四个特性

    java面向对象编程是指:Java语言提供类.接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements).另外 ...

最新文章

  1. Yii2中如何将Jquery放在head中的方法
  2. Android 基础(二十四) EditText
  3. LogisticRegression针对中文文本分类
  4. java入门申请,《java入门如此简单》——基础知识1
  5. LeetCode 3. 无重复字符的最长子串 (滑动窗口哈希表)
  6. python2.7初学(〇)
  7. 关于计算机算法学习路线(持续更新)
  8. caffe源码解析by薛云峰
  9. STRUTS1框架简介
  10. Mac安装虚拟机和CentOS
  11. 自然辩证法与计算机科学与技术,自然辩证法与计算机科学技术.pdf
  12. CDH存在隐患 : 该角色的进程使用的交换内存为xx兆字节。警告阈值:200字节
  13. 写在《Python高手修炼之道》发行之前:选择一本好书,即是少走弯路
  14. 微信小程序| 做一款可以计算亲戚关系的计算器
  15. vsync与hsync
  16. 闲鱼下单时显示服务器繁忙,闲鱼翻车记。闲鱼用验机报告需要注意的问题,否则分分钟被水鱼...
  17. TOM、网易、腾讯企业邮箱 | 邮箱登录入口你了解多少?
  18. C语言Say Hello to Integers
  19. ASP.NET技巧:GridView控件自定义分页详解第一页
  20. servers split sql_SQL中实现SPLIT函数几种方法总结(必看篇)

热门文章

  1. Python中.mat文件的读写操作
  2. 山西好点的计算机专科学校排名及分数线,2019-2020山西专科学校排名及分数线(理科+文科)...
  3. iris数据_针对iris数据集 支持向量机不同核函数的比较
  4. unordered_map 简介
  5. C语言main函数的参数及其返回值详细解析
  6. c语言 有关文件读/写函数 详解
  7. docker运行jenkins挂掉_docker搭建jenkins
  8. 用计算机进行实时自动采集,《大学计算机基础》基础部分练习题_附件1
  9. 容器技术Docker K8s 36 容器服务ACK基础与进阶-应用与发布管理
  10. 阿里云云计算 14 使用阿里云中的OSS