目录
Java函数/方法
面向对象
面向对象封装
Java对象的使用
Java函数/方法
什么是Java函数
是一段具备 特定功能的 高度封装 代码块
函数的分类
内置函数 eg:Math.pow(,);sout......
自定义函数 自己声明,自己使用的函数
函数的使用
1:函数的声明
(1)修饰符 public(公有的) static(静态)
(2)返回值类型 void(没有返回值) 其它有返回值int...
(3)函数名 名称
(4)参数列表 不同的地方形成参数
(5)方法体 里面放置方法的所有代码
2:函数的调用
直接 函数名( ) 调用
3:函数的封装
参数
什么是参数:把冗余代码的不同地方提取出来 会形成 参数
参数的分类
形参 形式参数 只是有个参数占位置 不代表具体内容 用在函数的声明过程中
实参 实际参数 实际存在的 具备含义的参数 用在函数的调用过程中
注意点:
如果声明了形参 那么 必须填写实参
参数可以有多个 多个参数间使用逗号(,) 进行分割
同时 形参 的顺序 要和 实参 一一对应
变量作用域
在某个方法中声明的变量 只能在该方法中 外部 用不了使用返回值 来解决 变量作用域导致的变量无法获取的问题
return执行后 后续代码不会再运行 。 借助这个特性 也可以使用return做代码的结束
面向对象
面向对象阶段
(面向对象:OOP)
什么是面向对象?
最关键的就是对象
世间万物皆对象 意思是 世界上 所以看得见 摸得着的东西 都可以是成为 对象
描述一个对象
1:描述对象的特征 被称为:属性
2:对象可以做的行为(主动)被称为:方法
好处:
面向对象的最大好处 在于 模拟现实世界
例子:有三辆车 它们属性和方法 基本类似; 所以 它们三个对象 可以 抽象出 类;
类
类 相当于 一个模板 决定了对象拥有哪些 属性和方法
类是不能做事情的 类只是一个设计图
类也是数据类型 并且是复合数据类型
对象中 抽象出类
类通过实例化 创建对象
调用 对象的属性
对象名.属性 就可以调用 对象的属性
调用 对象的方法
对象名.方法 就可以调用 对象的方法
类和对象的区别:
●类是Java的核心和本质。它是Java语言的基础,因为类定义了对象的本质。
●类定义了一种新的数据类型,可以用新类型来创建该类型的对象。
●类(class)是对象(object)的模板,而对象(object)是类的一个实例(instance)。
对象的方法内 可以直接调用 其它的方法 也可以 直接调用对象的属性
面向对象和面向过程的区别?
面向对象:重点分析谁来做 (大项目使用)
面向过程:专注于过程 (小项目使用)
面向对象的三大特性:
1:封装
2:继承
3:多态:同一东西 呈现多种形态
面向对象封装
面向对象的三大特性
封装
继承
多态
封装的概念
私有化属性 并提供 公有的访问方法
封装.就是隐藏实现细节
1、修改属性的可见性来限制对属性的访问
2、为每个属性创建一对赋值(setter)y方法和取值(getter)方法,用于对这些属性的访问
3、在setter和getter方法中,加入对属性的存取限制
public、protected、private、default可以用来完成对数据的封装
修饰符
Java中常用的修饰符有6种,分别是public、protected、private、default(不写)、static、final。
用来规定 该属性或方法的访问权限
public 意为 公有 所有地方 都可以直接访问
private 意为 私有 只有本类中 可以使用
Java对象的使用
构造函数
是一种特殊的函数 没有返回值 并且方法名和类名相同
构造函数 在对象实例化的一瞬间直接调用
给对象初始化赋值
方法的重载
在同一个类中 方法名相同 但参数列表不同 就被称为方法重载
作用是:方便用户在使用的时候 可以根据不同情况 执行不同代码
最常用 重载的 是 构造函数
重载只在一个类中 不跨类
对象生命周期
对象生命周期的开始
对象生命周期的结束
对象使用 内存 分配
栈:放引用 名字 eg:int num = 10 中的 num
堆:放对象 值 eg:int num = 10 中的 10
方法区:放静态(static)
静态/动态
static 意为静态 无需对象 只要类名就够
对应另一边的 就是动态 需要对象来执行
动态可用 动 静
静态只能用 静
面向对象的三大特性之一:继承
例子:
我想在打地鼠游戏中设置三种老鼠
大老鼠 打一次加3分
中老鼠 打一次加2分
小老鼠 打一次加1分
写完后 发现 代码基本相同 所以用继承解决问题
继承:子类 拥有父类的属性和方法 需要符合is-a关系 才能进行继承
继承中 父类拥有共有特性 而子类具有独特特性
继承的语法
extends 写在子类的类名后方 在后面 再写上 父类类名
好处
继承最大的好处就是 节省代码量,但是不要滥用。
现阶段 最常用到是 继承官方的类分支主题