A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

封装:
        定义:隐藏对象的属性和实现细节,仅提供对外的公共访问方式。

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.静态内容可以通过对象的调用,也可以通过类名调用,推荐类名调用。

评分

参与人数 2黑马币 +15 收起 理由
xiao7181jun + 10 很给力!
守护莹到老 + 5

查看全部评分

5 个回复

倒序浏览
总结的挺详细的。。。
回复 使用道具 举报
我想简单提下  
私有域(field,也就是常说的“成员变量”)+访问器和修改器(getter/setter) 的好处:
私有实例域显然是达到“封装”的目的,但又提供了访问器和修改器,这算啥?
(1) 在访问器和修改器里可以就如判断逻辑,进行校验,实现更好的控制目的。
(2) 部分域可以获取但不可以进行修改,比如Person类的name域,仅提供私有域和getter实现了“封装”。
回复 使用道具 举报
挺好的、、、、
回复 使用道具 举报
6666666666666666666666666666666666666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马