J2SE学习笔记——第三章 Java面向的对象

本文介绍了Java面向对象编程的基本概念,包括类、对象、封装、继承和多态。封装通过隐藏类的内部信息提高代码管理与安全性;继承允许子类复用父类的属性和方法,并可重写方法以满足特定需求;多态则体现在对象的多种形态,如引用多态和方法多态,增强了代码的灵活性。面向对象开发涉及OOA、OOD和OOP三个阶段。
摘要由CSDN通过智能技术生成

第一节 面向对象的基本概念
定义:以基于对象的思维去分析和解决问题,万物皆对象;
面向过程:
执行顺序:代码从上往下执行;
特点:1.简单 2.性能高一些,执行速度快 3.代码多繁琐
面向对象包括(类和对象)
类:对一组对象的定义,例如:人类,动物类
**对象:**所有具体的事物都是一个对象,包括自然界具体存在的一个真实的东西,也包括不存在的,如:我的笔记本、我的电脑
**面向对象:**面向具体的事物就是面向对象

面向对象特点:

  1. 相比较面向过程的代码而言,执行效率低。
  2. 更好地管理代码,可读性高;
  3. 代码能够更好地复用;
  4. 结构很清晰;
  5. 使用简单,写起来痛苦。

三大特性:封装,继承,多态;
封装:
概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
类的定义
优点:*只能通过规定的方法访问数据;
*隐藏类的实例细节,方便修改和实现
封装实现步骤:
封装步骤
需要注意:对封装的属性不一定要通过get/set方法,其他方法也可以对封装的属性进行操作。当然最好使用get/set方法,比较标准。
继承:
概念:继承是类与类的是一种“is a”的关系。比如“狗”继承“动物”,这里动物类是狗类的父类或者基类,狗类是动物类的子类或者派生类。如下图所示:
在这里插入图片描述
Java的继承是单继承,即一个类只能有一个父类。
继承的优点:
子类拥有父类的所有属性和方法(除了private的修饰属性不能拥有),从而实现了代码的复用。
语法规则:只要在子类加上extends关键字继承相应的父类就可。
在这里插入图片描述
A. 方法的重写
子类如果对继承的父类的方法不满意(不适合),可以自己编写继承的的方法,这种方式就称为方法的重写。当调用方法时会优先调用子类的方法。
重写要注意:
a. 返回值类型
b. 方法名
c. 参数类型及个数
都要与父类继承的方法相同,才叫方法的重写。
重载和重写的区别:
方法重载:在同一个类中处理不同数据的多个相同方法名的多态手段。
方法重写:相对继承而言,子类中对父类已经存在的方法进行区别化的修改。

B.继承的初始化顺序
1.初始化父类再初始化子类;
2.先执行初始化对象中属性,再执行构造方法中的初始化。
父类对象属性初始化---->父类对象构造方法---->子类对象属性初始化—>子类对象构造方法
如图所示:
在这里插入图片描述
多态:对象的多种形态。
Java的多态性主要表现在两个方面:
1、 引用多态
父类的引用可以指向本类的对象;
父类的引用可以指向子类的对象;

首先我们创建一个父类Animal和一个子类Dog,在主函数里如下所示:
在这里插入图片描述
注意:我们不能使用一个子类的引用来指向父类的对象,如:
在这里插入图片描述
当父类的引用指向子类的对象时,该对象将只是看成一种特殊的父类(里面有重写的方法和属性),反之,一个子类的引用来指向父类的对象是不可行的!!
2、方法多态
根据上述创建的两个对象:本类对象和子类对象,同样都是父类的引用,当我们指向不同的对象时,它们调用的方法也是多态的。
  创建本类对象时,调用的方法为本类方法;
  创建子类对象时,调用的方法为子类重写的方法或者继承的方法;
  使用多态的时候要注意:如果我们在子类中编写一个独有的方法(没有继承父类的方法),此时就不能通过父类的引用创建的子类对象来调用该方法!!!
  注意: 继承是多态的基础。

对于面向对象的开发来讲也分为三个过程:OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)。
本篇博客学习参考了https://www.cnblogs.com/hysum/p/7100874.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值