方法加强+面向对象
- 方法的重载(类型不一样,个数不一样,顺序不一样)
1.1概念:
在一个类中定义多个同名的方法,但要求每个方法具有不同的参数列表(也就是说参数的个数和类型不同)
1.2方法的定义:
修饰符 返回值类型
方法名(参数1,参数2…){
}
方法名和参数列表统称为方法签名
只要两个(多个)方法,方法名一样,参数列表不一样(参数个数和参数类型不一样),就说这两个(多个)方法构成了重载
即使参数个数和参数类型都一样,但顺序不一样也构成重载
- 方法的递归(方法在栈内运行)
2.1用递归实现10到1的和
注意:Exception in thread “main”
java.lang.StackOverflowError栈内存溢出
- 面向对象(OOP)
3.1概念
所谓的面向对象是一种编程思想,通过这种思想把生活中复杂的事情变得简单化面向对象是基于面向过程的,从原来的执行者变成了指挥者,
面向对象不一定是优于面向过程,需要区分场景
·面向过程强调的是过程—执行者
·面向对象强调的是结果—指挥者
3.2类和对象
3.2.1 类
(1)Java语言最基本的单位就是类,类似于类型
(2)类时一类事物的抽象
(3)可以理解为模板或者设计图纸
3.2.2 对象
每个对象具有三个特点:对象的状态、对象的行为和对象的标识
(1) 对象的状态用来表述对象的基本特征
(2) 对象的行为用来描述对象的功能
(3) 对象的标识是指对象在内存中都有一个唯一的地址和其他对象区分开来
(4) 类是一类事物的抽象,对象是具体的实现
- 类和对象的创建和使用
4.1通过class关键字创建类,通过new关键字创建对象
4.2对象在内存中的存储
Java把内存分成5大区域,重点关注栈内存和对内存
4.4.1一般来讲局部变量存在栈中,方法执行完毕内存被释放
4.4.2对象(new出来的东西)存在栈内存中,对象不再被使用时,内存才会被释放
4.4.3每个堆内存的元素都有唯一的地址值
4.4.4对象中的属性都是有默认值的
4.4多对象内存图
只有new的时候才在堆内存中开辟一块空间
5.面向对象的特性
封装:把相关的数据封装成一个“类”组件
继承:是子类自动共享父类的属性和方法,这是类之间的一种关系(一些事物共有的属性和方法提取出来在一个新的类中)
多态:增强软件的灵活性和重用性