JavaSE基础(七)面向对象基础

面向对象基础

面向对象:强调对象,由对象去调用功能

面向过程l强调每一个功能步骤

面向对象思想:面向对象是基于面向对象过程的编程思想

面向对象思想特点:

  1. 是一种更符合我们思考习惯的思想
  2. 可以将复杂的事情简单化
  3. 将我们从执行者变成指挥者

举例:

买电脑:

面向过程:我要买电脑--明确买电脑的意义--上网查找对应的参数信息--去买电脑--讨价还价--买回电脑

面向对象:我要买电脑--班长去给我买--买回电脑

类与对象的关系:学习编程语言:为了把现实世界的事物模拟出来,实现信息化

如何表示现实世界的事物呢?

1.属性:就是事物的描述信息

2.行为:事物能够做什么

举例:学生

Java语言最基本的单位是类

类:是一组相关的属性和行为的集合

对象:就是该事物的具体体现

举例:

类    学生

对象    班长

类的定义:

类是用于描述现实世界的事物的

类是如何和事物进行对应的呢?

举例:

类:

学生事物:

 成员变量:  属性:姓名,年龄...

成员方法:   

  行为:学习,吃饭

成员变量:与变量的定义一样

位置不同:类中,方法外

初始化值:不需要给初始化值

成员方法:和我们前面的方法的定义的是一样(去掉static关键字)

类的使用:使用一个类,就是使用该类的成员(成员变量和成员方法)

而我们想使用一个类的成员,必须首先拥有该类的对象

如何创建对象呢?

成员变量: 对象名.变量名

成员方法:对象名.方法名(...)

成员变量与局部变量的区别:

1.在类中的位置不同:

成员变量:类中,方法外

局部变量:方法中或者方法声明(形式产数)

2.在内存中位置不同

成员变量:堆内存

局部变量:栈内存

3.生命周期不同:

成员变量:随着对象的创建而存在,随着对象消失而消失

局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

4.初始化值的问题

成员变量:有默认值

局部变量:没有默认值,必须先定义,赋值,最后使用

private 关键字

通过对象直接访问成员变量,会存在数据安全问题

private关键字的特点:

是一个权限修饰符

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

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

针对private修饰,我们会提供getXxx()和setXxx()用于

获取和设置成员变量值,方法用public修饰

封装:是面向对象提供的内容都是隐藏起来

把属性隐藏,提供公共方法对其访问

成员变量private,提供对应的getXxx()和setXxx()方法

好处:

通过方法来控制成员变量的操作,提高了代码的安全性

把代码用方法进行封装,提高代码的复用性

this关键字:

this:代表所在类的对象引用,方法被哪个对象调用,this就代表那个对象

使用场景:

局部变量隐藏成员变量

构造方法:给对象的数据进行初始化

格式:方法名和类名相同

没有返回值类型,连void都不能写

没有具体的返回值

如何调用构造方法:

通过new关键字调用

格式:类名 对象名=new 构造方法(...);

构造方法的注意事项:

1.如果我们没有给出构造方法,系统将提供一个默认的元素构造方法给我们使用

2.如果给出构造方法,系统不再提供默认无参构造方法,想使用无参构造方法,就必须自己提供

推荐:自己给出无参构造方法

3构造方法也是重载

成员变量赋值:1.setXxx()方法

2.带参数构造方法

类名作为形式参数:需要的是该类对象

返回值的问题:返回的是该类的对象

发布了49 篇原创文章 · 获赞 31 · 访问量 2905

猜你喜欢

转载自blog.csdn.net/cjy_lean/article/details/98891532