Java面向对象基础

面向对象基础

类和对象

面向对象和面向过程的思想对比

1、面向过程编程

是一种以过程为中心的编程思想,实现功能的每一步,都是自己实现的

2、面向对象编程

是一种以对象为中心的编程思想,通过指挥对象实现具体的功能

对象:指客观存在的事物(万物皆对象)

小结:

1、客观存在的任何一种事物,都可以看做为程序中的对象

2、使用面向对象思想可以将复杂的问题简单化

3、将我们从执行者的位置,变成了指挥者

什么是类

类是对实现生活中一类具有共同属性和行为的事物的抽象

【类】是对事物,也就是对象的一种描述,可以将类理解为一张设计图根据设计图,可以创建出具体存在的事物

类的组成

属性:该事物的各种特性

行为:该事物存在的功能(能够做的事情)

类和对象的关系

类:类是对现实生活中一类具有共同属性和行为的事物的抽象

对象:是能够看得摸得着的真实存在的实体

类的定义

类的组成:属性和行为

属性:在代码中通过成员变量来体现(类中方法外的变量)

行为:在代码中通过成员方法来体现(和前面的方法相比去掉static关键字即可)

类的定义步骤:

1、定义类

2、编写类的成员变量

3、编写类的成员方法

对象的使用

创建对象

格式:类名 对象名 = new ming();

范例:students s = new students();

使用对象

1:使用成员变量

格式:对象名.变量名

范例:s.name

2、使用成员方法

格式:对象名.方法名();

范例:s.study();

垃圾回收

当堆内存中,对象或数组产生的地址,通过任何方式都不能被找到后,就会被判定为内存中的垃圾

垃圾会被Java垃圾回收器,空闲的时候自动进行清理

成员变量和局部变量

什么是成员变量和局部变量

成员变量:类中方法外的变量

局部变量:方法中的变量

成员变量和局部变量区别

成员变量

局部变量

类中位置不同

类中方法外

方法内或者方法声明上(形参)

内存中位置不同

堆内存

栈内存

生命周期不同

随着对象的存在而存在,随着对象的消失而消失

随着方法的调用而存在,随着方法的调用完毕而消失

初始化值不同

有默认的初始化值

没有默认的初始化值,必须先定义,赋值,才能使用

封装

面向对象三大特征之一(封装、继承、多态)

隐藏实现细节,对外暴露公共的访问方式

常见体现:

私有的成员变量,提供setXxxgetXxx方法

将代码抽取到方法中,这是对代码的一种封装

将属性抽取到类中,这是对数据的一种封装

好处:

提高了代码的安全性;提高了代码的复用性

private 关键字

是一个权限修饰符

可以修饰成员(成员变量和成员方法)

private修饰的成员只能在本类中才能访问

针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作

提供“get变量名()” 方法,用于获取成员变量的值,方法用public修饰

提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰

this关键字

概念:代表所在类的对象应用

记住:方法被哪个对象调用,this就代表哪个对象

作用:可以调用本类的成员(变量、方法)解决局部变量的成员变量的重名问题

构造方法

概述

构建、创造对象的时候,所调用的方法

格式:

方法名与类相同,大小写也要一致

没有返回值类型,连void都没有

没有具体的放回值(不能由retrun带回结果数据)

时机:

创建对象的时候调用,每创建一次对象,就会执行一次构造方法

不能手动调用构造方法

作用:用于给对象的数据(属性)进行初始化

注意事项:

构造方法的创建

如果没有定义构造方法,系统将给出一个默认的无参数构造方法

如果定义了构造方法,系统将不再提供默认的构造方法

构造方法的重载

如果自定义了带参构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法

推荐的使用方式

无论是否使用,都手动书写无参数构造方法,和带参数构造方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值