Java基础面向对象的思想

面向对象思想:

面向过程:
当需要实现一个功能时,每个具体的步骤都要亲力亲为,详细每一个细节。

面向对象:
当需要一个实现功能的时候,不关心具体操作,找一个已经具有该功能的人,来帮我做事。

面向对象的三大特征:封装、继承、多态

封装性体现在Java当中:
1.方法就是一种封装
2.关键字private也是一种封装

**private关键字作用:**将需要保护的成员变量进行修饰(提高安全性)
一旦使用private进行修饰,那么在本类中仍然可以随意访问,但是,超出本类,不可以访问。

间接访问private成员变量,就要定义一对getter/setter方法
getter:不能有参数,返回值类型和成员变量对应
setter:不能有返回值,参数类型和成员变量对应

this关键字用法:
当方法的局部变量和成员变量重名的时候,根据“就近原则”会优先选择局部变量,但如果需要访问本类当中的成员变量,则需要使用this关键字
格式:this.成员变量名();
*注意:通过谁调用的方法,谁就是this

继承性:

特点: 共性抽取
如果在父子类继承关系中,成员变量重名,则创建子类对象时,访问有两种方式;

*直接通过子类对象访问成员变量(等号左边是谁,就有先用谁,没有向上找)

*间接通过成员方法访问成员变量(方法属于谁,就优先用谁,没有想上找)

方法的重写(override):

概念:又称为,方法覆盖,在继承关系中,方法的名称一样,参数列表也一样。

特点:创建子类对象,则优先用子类方法。

注意事项:
1.必须保证父子类间方法的名称一样,参数列表也一样。
@override;:卸载方法的前面,用来检测是否有效的正确覆盖重写
2.子类方法的返回值必须小于父类的返回值范围。
3.子类方法的权限必须大于父类方法的权限修饰符。
扩展:(权限修饰符)public>protected>(default)>private //default不是关键字,而是什么都不写,空。

父子类构造方法上的访问特点:
1.子类构造方法当中默认有一个“super()”调用,所以一定先执行父类方法,再执行子类中的方法。
2.子类构造可以通过super关键字来调用父类重载构造。
3.super的父类构造调用,必须是子类构造方法的第一个语句,一个子类不能多次调用super构造。

super和this关键字的用法
super用于访问父类内容,this用于访问本类中的内容。
注意:
1.this关键字也是构造方法的第一个语句,唯一一个。
2.super和this两种构造方法不可以同时使用。

多态性:一个对象的多种形态。

访问成员变量的两种方式:
1.直接通过对象名称访问成员变量:看等号左边是谁,优先用谁。
2.间接通过成员方法访问成员变量:看方法属于谁,优先用谁。

访问成员方法的规则:
看new的是谁,就优先用谁(编译看左边,运行看右边)。
好处:无论右边new的时候换成哪个子类对象,等号左边的调用方法都不会改变。

对象的向上转型,其实就是多态写法(一定是安全的);
对象的向下转型,其实就是一个还原动作,将父类对象,还原成本来的子类对象。

*备注:向上转换类似于基本数据类型的自由转换,向下转换类似于基本数据类型的强制转换。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值