一.字符串比较:
equals(): 比较两个字符串的内容是否相等->true相等 false->不相等
格式: 字符串1.equals(字符串2);
二.方法的递归: 方法自己调用自己
临界条件: 停止自己调用自己(递归头)
递归前进段: 从自己调用自己到临界条件之间这一段
递归后推段: 临界条件之后,把方法的结果返回给调用自己的上一层
三.面相对象:
1. 面向过程和面向对象的区别:
面向过程和面向对象都是一种编程思想,不同的思维方式
面向过程 :"如何完成|如何实现?"然后一步步实现就OK了
面向对象 :"这件事应该找谁来完成?"完成的这个人就是对象,不关注过程,只关注对象
面向对象依托于面向过程
2. 面向对象的优点:
1)面向对象的思维方式更贴近于现实生活的思维方式
2)面向对象思维方式更体现于管理者,面向过程体现于执行者
3)可以将复杂的问题简单化
3.面向对象提出了2个概念
以面向对象的思维方式编程就是让程序和现实生活挂起联系
类 : 一类|系列事物的模板(定义的是一系列事物的共性)
对象 : 现实生活中真实存在的某个事物
没有类就没有办法创建对象(例:没有图纸就没有办法造车)
4.自定义类:
根据一系列事物分析:
第一步分析 : 手机能做什么? 打电话,上网,聊天,发信息... 动词,功能--->成员方法定义功能
第二步分析 : 手机的特性? 颜色,品牌,尺寸,价钱... 名词,属性--->成员变量
public class 类名{
// 属性
修饰符 数据类型 变量名 = 变量值;
// 功能
修饰符 返回值类型|void 方法名(参数列表){
方法体;
}
}
注意:成员不加 static
四.使用自定义类:
1.导包
1)java.lang包下的直接内容不需要导包
2)同包下的类不需要导包
2.创建这个类型的一个变量|引用 创建对象->new
引用数据类型 变量名 = new 引用数据类型();
3.使用内容
变量名.属性名字
变量名.方法名字(实参)
五.new 对象
1.在堆中为对象开辟空间,当前类的成员属性会跟随对象进入到堆内存并附默认值
2.调用构造器为对象初始化信息(一般为成员属性第一次赋值)
3.将对象的地址返回给引用
六.构造器|构造方法|构造函数
作用:
初始化对象信息
定义:
修饰符 类名([参数]){
....
}
1.没有返回值类型,没有void
2.可以根据需求存在return,提前结束方法
3.构造器不能和static,abstract,final一起使用
调用:
跟随new使用,new其中的一步
1.如果没有显示构造器,编译器会隐式为你提供一个空构造
2.如果存在自定义构造器,编译器不会再为你提供任何构造器, 包括空构造
3.定义多个构造器,参数列表不同,构成构造器的重载,调用根据()中的实参匹配不同的构造器
4.构造器的修饰符可以是private,私有的,只能在当前类中使用这个构造器
根据不同的需求定义不同的构造器,一般都会存在至少一个空构造