【JAVA】面向对象总结

一、万物皆对象

特征:封装、继承、多态、抽象

二、拿来主义

一个整体类,包括属性和方法,直接拿来用

三、整体概念

一个类包括:属性和方法

一个类相当于一个汽车设计图纸

创建一个类的对象相当于创建一个汽车实例

四、对象数组

对象数组中的值中存放的元素是地址码 

一个元素相当于一个实例的地址码

创建对象数组时,在jvm中运行

五、面向对象思维

1、封装思维

(1)保证代码安全性:

通过使用private访问修饰符限制该类中的属性和方法的访问范围,不过一般是属性为private

(2)当有很多属性和方法时,进行封装,便于存放和管理

(3)其他属性为private时,要有公开的set/get方法对属性赋值和拿到属性

.set():又被称为写方法,用来给属性赋值

public void setName (String n)

 .get():称为读方法,读取属性

public String getName ()

idea提供了快速创建set/get方法的快捷键:[fn]+alt+insert 或者 右键+generate

2、继承思维

(1)不同的对象有什么相同的属性和方法

(2)将相同的方法和属性放到一个父类

(3)用extends来继承父类中的属性和方法

(4)继承的特点:

单继承:一个子类只能有一个父类

一个父类可以被多个子类继承

子类可以继承父类以及父辈的所有属性和方法

3、多态思维

(1)概念

同一个父类,不同的子类对象,方法签名相同,方法功能和操作不同

(2)实现前提

有继承

方法重写(是基础)

父类类型接受子类对象

(3)转型

向上转型(自主的):父类类型接收子类对象

Pet pet = new Dog()

优点:实现多态

缺点:父类对象不能调用子类特有的属性和方法

向下转型(强制的):父类对象赋值给子类对象

Pet p = new Pet();
Dog d = (Dog)p;

优点:父类可以调用子类特有的属性和方法

缺点:可能发生ClassCastException异常(真实类型不匹配)

解决方法:使用instanceof关键字,来判断该类型是否与表面类型和真实类型相匹配

如果真实类型和表面类型有一个和强转类型匹配,为true

如果两个都不匹配,为false

4、解题思路

(1)包含几个对象就有几个类

(2)每个对象有什么属性和方法

(3)是否有一样类型的方法和属性

(4)有就全放在一个父类中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值