封装:
定义:隐藏对象的属性和实现细节,仅提供对外的公共访问方式。
private:是一个关键字,私有的意思,修饰成员(成员变量和成员方法),被它修饰的内容,仅在本类中可以访问,其他类不能直接访问。
可以加入逻辑校验。
private仅仅是封装的一种体现,类和函数也是封装。
标准代码:方式一:当成员变量被private修饰后,提供set/get方法。
方式二:通过构造方法
那么什么是构造方法呢?
特点: 1.方法名与类名相同
2.不用定义返回值类型
3.没有确定的返回值
作用:1给相应对象进行初始化;2在堆内存中开辟空间
注意:a,如果没有给出构造函数,系统会默认给出一个无参的构造函数
b,如果给出构造函数,系统不会再给无参构造函数了
构造方法重载(参数列表不同)
请永远手动给出无参构造函数。Person(){}
this关键字:所在函数,所属对象的引用;
哪个对象调用方法,在方法内部就有一个隐含的this来代表这个对象。
简单的说,谁调用,this就代表谁
应用场景:
1.解决局部变量隐含成员变量值的情况
2.构造函数之间的调用
如果局部变量没有name,就不加this ,如果有,就加
代码块:用{}扩起来的代码,
局部代码块:定义在方法内的代码块。
让变量尽早的从内存中消失,提高效率。
构造代码块:定义在类中方法外的代码块。
把所有构造方法中的共同内容定义在构造代码块中。
static关键字:可以用来修饰成员,成员变量和成员方法。
多个对象共享某个数据时,使用static修饰
特点;1 随着累的加载而加载
2.优先于对象而存在
3.当某个内容被所有对象共享时,用static修饰(如果某个内容是对象的特有属性时,不被static修饰)
4.可以直接被类名调用
注意事项:1 静态方法中不能有this
2 静态方法只能访问静态成员,非静态方法可以即可以访问静态又可以访问非静态。
3.静态内容可以通过对象的调用,也可以通过类名调用,推荐类名调用。 |