03.1面向对象

面向对象

类:显示生活中具有相同属性和行为事物的抽象

对象:显示生活中具体的存在

面向对象:是开发过程中的一种思想
在Java当中:首先现有类,再有对象
类和对象之间的关系:
	类是对象的抽象
	对象是类的实现
	类可以看做是对象数据类型
类的定义:
	1.创建类
	2.创建类中的属性:在Java叫做成员变量
		格式:public 数据类型 变量名;(数据类型 变量名)
	3.创建类中的行为:在Java叫做成员方法
		格式:public 返回值类型 方法名(参数){
				方法体;
				return 数据;
			}

类的使用:

创建对象格式:类名 对象名=new 对象名();
成员变量的使用格式:对象名.成员变量
成员方法的使用格式:对象名.成员方法
开发过程中面向对象的使用:类->属性和行为->创建对象->对象的使用

成员变量所在位置:类中方法外
局部变量所在:方法中变量
变量的使用:就近原则
成员变量的作用域:类中
局部变量的作用域:当前方法中

注意:小范围(局部)可以使用大范围(类)的变量
大范围(类)不能使用小范围(局部)的变量
区别:
在这里插入图片描述

this

this:表示当前类的对象
this.变量:表示成员变量
什么时候使用this:当局部变量隐藏成员变量时(局部变量和成员变量名字相同时),使用this进行区分
局部变量和成员变量名字相同时,使用this表示成员边量
局部变量和成员变量名字相同时,不使用this表示局部边量

private

为什么成员变量需要加上private,因为public所修饰可以直接去访问并赋值(数据是不安全的),通过private所修饰可以保护类的成员变量,不被别的类直接访问
权限访问修饰符:修饰成员变量和成员方法
public:公共的 所有人都可以访问
private:私有的 只能当前去调用

面向对象的三大特征之一:封装
特点:私有化成员变量
私有化的成员变量对外留出访问接口(赋值和获取的方法):set和get方法

set和get方法与构造函数的区别:
构造方法目的是:规定在默认的位置输入固定类型的值。  构造方法主要用于:定义一种规则,初始化值
setXXX()与getXXX()主要用于:修改值,获取值。
 
构造:特殊的方法
功能:创建对象
作用:初始化对象
格式:public 类名(){}
构造的使用:初始化对象,可以通过有参构造,初始化对象时,对成员变量直接给值

注意:类中默认隐含唯一个无参构造,如果手动定义一个新的构造,会覆盖默认构造
注意:类中必须要有无参构造
无参构造不写可能会出现问题,写上之后肯定没问题

封装特性:set和get方法与构造函数的用法区别:

1.test测试类中编写main方法,且代码要简单,不要复杂,控制台输出一般放在类中成员方法中

在这里插入图片描述
在这里插入图片描述

2.alt+insert快捷键插入默认无参构造函数和全参构造函数,set和get方法
3.main方法中使用自定义构造函数初始化对象,使用set和get方法修改和获取对象值

在这里插入图片描述

4.如果成员变量有具体现实要求,如大于0或具体值

1.对有特殊要求的对象使用构造函数重载改变初始化的值
在这里插入图片描述

2.使用set和get函数来对有特殊要求的对象重新赋值
在这里插入图片描述

3.需要重新使用set方法获取参数this.setAge(age)
使用默认构造函数赋值时,调用set函数来处理特殊要求。
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值