面向对象:面向对象的思想、成员变量和局部变量的区别、匿名对象、封装、关键字:private、this、static;构造方法

面向对象

面向对象的思想
(1)概述:要完成一个需求的时候,把完成该需求的每一个步骤和功能在进行封装,封装时根据不同的功能,进行不同的封装,功能类似的封装在一起。这样结构就清晰了很多。用的时候,找到相应的类就可以了。
(2)特点:是一种符合我们思想习惯的思想;可以将复杂的事情简单化;将我们从执行者变成了指挥者,角色发生了改变;
成员变量和局部变量的区别
(1)在类中的位置不同
成员变量:在类中方法外
局部变量:在方法定义中或者方法声明上
(2)在内存中的位置不同
成员变量;在堆内存
局部变量;在栈内存
(3)生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
(4)初始值不同
成员变量:有默认初始值
局部变量:没有默认初始化值,必须定义,赋值,然后才能使用
注意事项:: 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
匿名对象
(1)概述:没有名字的对象
(2)应用场景:调用方法,仅仅只调用一次的时候;匿名对象可以作为实际参数传递
封装
(1)概述:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式
(2)好处:隐藏实现细节,提供公共的访问方式;提高了代码的复用性;提高安全性。
关键字
private
(1)特点:是一个权限修饰符;可以修饰成员变量和成员方法;被其修饰的成员只能在本类被访问;
(2)常见应用:把成员变量用private修饰;提供对应的getXxx()方法和setXxx()方法。
this
(1)应用场景:解决局部变量隐藏成员变量
(2)特点:是当前类的对象引用。简单来说就是它代表当前类的一个对象,谁调用这个方法,那么该方法的内部的this就代表谁
ststic
(1)特点:随着类的加载而加载;优先于对象存在;被类中的所有对象共享;可以通过类名调用
(2)注意事项:在类中没有this关键字;静态只能访问静态,非静态可以访问静态的也可以访问非静态的。
问题:为什么在类中没有this关键字?
静态是随着类的加载而加载,this是随着对象的创建而存在。静态比对象先存在。
构造方法
(1)概述和作用:创建对象,给对象中的成员进行初始化
(2)格式特点:方法和类名相同;没有返回值类型,连void都没有;没有具体的返回值
(3)注意事项:如果我们没有给出构造方法,系统将自动提供一个无参构造方法;如果我们给出了构造方法,系统将不再提供默认的无参构造方法。这个时候,如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法

你可能感兴趣的:(面向对象:面向对象的思想、成员变量和局部变量的区别、匿名对象、封装、关键字:private、this、static;构造方法)