构造,封装,重载,static
1.构造方法语法
-
//无参构造
访问修饰符 构造方法名(){
}
-
//带参构造
访问修饰符,构造方法名(参数1,参数2……){
}
-
作用:给属性初始化的
-
注意:
1.只要new对象 系统默认提供一个无参构造
2.当你创建了一个带参构造 系统不会给你提供无参构造 需要自己写上。
this 关键字 代表当前类
this.属性 代表当前类的属性
this.方法() 代表当前类的方法
方法重载:在同一个类中 ,方法名相同,参数类型,个数不同与返回值和访问修饰符无关
局部变量与成员变量的区别:(成员变量就是全局变量)
1.成员变量是定义在类中,局部变量定义在方法中
2.成员变量和局部变量可以同名,如果同名使用时遵循就近原则。可以通过this关键字区别局部和成员,this.出来的是成员变量
3.成员变量作用域比局部变量作用域大
4.成员变量有默认值,局部变量没有,必须赋值才能操作。
static关键字:使用Static修饰的都属于类
1.static修饰的变量叫作静态变量,可以通过类名.变量名直接访问,同样也可以修饰方法
2.使用static修饰的方法中,只能放入静态变量。普通方法中不能定义static变量。
3.使用static修饰的变量,可以放入静态方法也可以放入普通方法
例:定义:static 变量名;调用:类名.变量名;
运行速度:静态代码块>非静态代码块>执行无参构造(只做了解)
封装
封装的概念:将类的某些信息隐藏在类的内部,不允许外部直接访问,而是通过当前类定义的getter/setter去访问和操作。
封装的步骤(属性私有化→外部访问方法get/set→加入逻辑控制语句)
补充:面向对象的三大特征:封装,继承,多态。
什么是耦合
耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合。
在单应用解耦
通常来说,对于整个系统不必要,但是又要记录的,重复度比较高的。
比如: 日志 邮件 * 提示
这类功能,通常需要和实际功能打交道的。第一想法可能是 AOP 做一个切面编程。完成松耦合。
针对上诉问题,我通常使用三步来完成。
- 抽象
- 切面
- 异步