java核心思想面向对象三大特性(封装,继承,多态)

java面向对象的思想

1.什么是对象?(理解)

	在java中,我们用“属性“来描述现实对象的静态特征
	我们用“方法”来描述现实对象的动态功
	对象同时具有属性和方法两项特性
	对象封装了属性和方法,来共同描述一个事物

2.如何在java中创建一个对象?

	a.创建一个类
	b,new 类名();

3.什么是类?

	具有相同属性和方法的对象的集合;
	类是模子,定义对象将会拥有的特征(属性)和行为(方法)(同一个类中的对象都具有这个类的特征)
	类是由属性和方法组成的。

4.类核对象的关系?

	a.类是抽象的,是模板,对象是具体的,是类当中的一个实例
	b.不能直接使用类,要使用类中具体的对象
	c.同一个类当中的两个对象,都一定具有这个类的相同特征(属性、方法)
	d.类是对象的类型

封装

1.定义:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。
2.封装的目的是:增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,
一特定的访问权限来使用类的成员。
3.封装的基本要求是:把所有的属性私有化,对每个属性提供getter和setter方法,如果有一个带参的构造函数的话,
那一定要写一个不带参的构造函数。在开发的时候经常要对已经编写的类进行测试,所以在有的时候还有
重写toString方法,但这不是必须的。

继承

继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或者新的功能,
也可以使用父类的功能,但不能选择性地继承父类。通过使用继承我们可以非常方便地复用以前的代码。

1.继承
==》为什么要使用继承?
可以减少代码量,可以让代码维护更容易,是面向对象的思想
==》什么是继承?
存在父子关系,我们就可以说子类继承了父类
==》在java中如何实现父类关系
关键字:extends
==》理解继承?

1.类是对所有具有相同属性和方法的对象的集合,父类是将有相同的属性和方法的类的提取
2.父子关系属于 is-a关系(XX是XX)
3.当继承关系产生后,子类不用定义就可以拥有父类所有的属性和方法(除了私有)
4.子类也可以有自己的特有的属性和方法
5.子类不可以调用父类的构造方法
6.创建子类对象,一定会先调用父类的构造,然后在调用自己的构造
7.只要父类有有参构造,那么子类必须也要定义有参构造,除非父类同时也存在无参构造
8.子类构造中调用父类的构造,必须放在子类构造方法的第一行
9.构造方法中调用构造方法,super和this关键字不能同时存在

2.super关键字和this关键字

super关键字在java中表示的是父类对象,super()调用父类构造
this代表的是本类,this()调用本类构造
super只能出现在子类的方法和构造方法中
super不能访问父类的private成员

3 private,default,protected,public的作用范围?

private:只有本类可以使用
default:本类可以访问,同一个包下可以访问
protected:本类可以访问,同一个包可以访问,子类可以访问(可以在不同的包下)	
public:同一个项目下的任何类都可以访问

4.方法的重写?

==》什么是方法的重写?
在父子类当中,方法名相同,返回值类型相同(或者是父类类型),方法体不同的方法,构成了方法的重写
却别重载:同一个类中,方法名相同,参数不同(个数,类型)和返回值无关的方法构成方法的重载

多态

1.概念:

相同的事物,调用其相同的方法,参数也相同时,但表现的行为却不同。

2.Java实现多态有三个必要条件:继承、重写、向上转型。

继承:在多态中必须存在有继承关系的子类和父类。
重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。
只有满足了上述三个条件,我们才能够在同一个继承结构中使用统一的逻辑实现代码处理不同的对象,从而达到执行不同的行为。

3.多态的实现方式:

(1)基于继承实现的多态
基于继承的实现机制主要表现在父类和继承该父类的一个或多个子类对某些方法的重写,多个子类对同一方法的重写可以表现出不同的行为。

(2)基于接口实现的多态
继承是通过重写父类的同一方法的几个不同子类来体现的,那么就可就是通过实现接口并覆盖接口中同一方法的几不同的类体现的。

在接口的多态中,指向接口的引用必须是指定这实现了该接口的一个类的实例程序,在运行时,根据对象引用的实际类型来执行对应的方法。

继承都是单继承,只能为一组相关的类提供一致的服务接口。但是接口可以是多继承多实现,它能够利用一组相关或者不相关的接口进行组合与扩充,
能够对外提供一致的服务接口。所以它相对于继承来说有更好的灵活性。

4.多态性主要表现在如下两个方面:

(1)方法重载.通常指在同一个类中,相同的方法名对应着不同的方法实现,但是方法的参数不同.
(2)成员覆盖.通常指在不同类(父类和子类)中,允许有相同的变量名,但是数据类型不同;也允许有相同的方法名,但是对应的方法实现不同.

5.多态的好处:

程序的可扩展性及可维护性增强。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值