java面向对象小技巧个人整理
封装性
封装性的概念
封装性是面向对象思想的三大特征之一,封装就是躲藏完成细节,仅对外提供访问接口。完成细节部份包装、躲藏起来的办法。
封装有:属性的封装、办法的封装、类的封装、组件的封装、模块化封装、系统级封装…
封装的益处:模块化、信息躲藏、代码重用、插件化易于调试、具有平安性
封装的缺陷:会影响执行效率
封装之前:属性都能够直接访问和修正
class Person{
String name;
int age;
}
封装之后:
class Person{
//属性是成员变量,私有化属性,使得其他对象不能直接访问属性
private String name;
private int age;
//参数及办法内定义的变量是部分变量
public void setName(String name){
this.name = name;}
public String getName(){
return name;}
}
成员变量和部分变量的区别
a、在类中的位置不同
成员变量:在类中定义
部分变量:在办法中定义或者办法的参数
b、在内存中的位置不同
成员变量:在堆内存(成员变量属于对象,对象进堆内存)
部分变量:在栈内存(部分变量属于办法,办法进栈内存)
c、生命周期不同
成员变量:随着对象的创立而存在,随着对象的销毁而消逝
部分变量:随着办法的调用而存在,随着办法的调用终了而消逝
d、初始化值不同
成员变量:有默许初始化值,援用类型默许为null
部分变量:没有默许初始化值,必需定义,赋值,然后才干运用
留意:
部分变量称号能够和成员变量称号一样,在办法中运用的时分,采用的是就近准绳。
6、结构办法
无参结构办法:
public Dog(){} //假如一个类没有定义结构办法,则默许无无参结构,假如有定义有参结构,最好再显现定义一个无参结构办法
带参结构办法:
public Dog(String name){
this.name = name;
}
多参结构办法:
public Dog(String name,int age){
this.name = name;
this.age = age;
}
(1)结构办法称号与类名相同,没有返回值声明(包括 void)
(2)结构办法用于初始化数据(属性)
(3)每一个类中都会有一个默许的无参的结构办法
(4)假如类中有显现的结构办法,那么默许结构办法将无效
(5)假如有显现的结构办法,还想保存默许结构 办法,需求显现的写出来。
(6)结构办法能够有多个,但参数不一样,称为结构办法的重载
(7)在结构办法中调用另一个结构办法,运用this(...),该句代码必需在第一句。
(8)结构办法之间的调用,必需要有出口。
(9)给对象初始化数据能够运用结构办法或setter办法,通常状况下,两者都会保存。
(10)一个好的编程习气是要保存默许的结构办法。(为了便当一些框架代码运用反射来创立对象)
(11)private Dog(){},结构办法私有化,当我们的需求是为了 保正该类只要一个对象时(单例形式就是私有化结构器)。郑州心理医院哪家好http://www.hyde8025.com/
7、this关键字
this关键字指向的是当前对象的援用
调用类中的属性:this.属性称号,指的是访问类中的成员变量,用来辨别成员变量和部分变量(重名问题)
调用类中的办法:this.办法称号,用来访问本类的成员办法
调用类结构办法:this();访问本类的结构办法,()中能够有参数的 假如有参数 就是调用指定的有参结构