黑马程序员技术交流社区
标题: Java基础学习 第6天 (02) [打印本页]
作者: luguoyuanf 时间: 2013-3-25 07:34
标题: Java基础学习 第6天 (02)
3.3 封装(Encapsulation)
定义:指隐藏对象的属性和实现细节,仅对外提供公共访问方式
好处:
1)将变化隔离,隐藏类的实现细节
2)便于使用,可以方便加入控制逻辑,限制对属性不合理操作
3)提高重用性,便于修改,增强代码的可维护性
4)提高安全性
封装原则:
1)将不需要对外提供的内容都隐藏起来
2)把属性都隐藏,提供公共方法对其访问
3.3.1private (私有)关键字
private关键字
1) 是一个权限修饰符。
2) 用于修饰成员(成员变量和成员函数)
3) 被私有化的成员只在本类中有效。
常用之一:
将成员变量私有化,对外提供对应的set ,get方法对其进行访问。提高对数据访 问的安全性
3.4构造函数
特点:
1)构造方法的方法名必须与类名相同
2) 构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
3) 构造方法不能由编程人员调用,而要系统调用。
4) 一个类可以定义多个构造方法,也就是构造方法可以重载,以参数的个数,类 型,或排列顺序区分。
5)如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认 构造器,这个构造器不执行任何代码。
作用:构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的 参数传给对象的域。
构造函数和一般函数的区别:
1从功能上的区别:
构造函数是给对象初始化的
一般函数是因为对象需要满足某种功能定义的
2从执行上的区别
构造函数,是对象创建的时候被执行,不用调用。
一般函数是什么时候调用,就什么时候执行,不调用就永远不执行。
3.5this关键字
定义:Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM) 就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此, this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出 现this,(这在讲解Java关键字static、final中给出了明确解释。)并且this只和 特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。
简言之:哪个对象调用this所在的函数,this就代表哪个对象。
this关键字的作用
1) 第一、通过this调用另一个构造方法,用法是this(参数列表),这个仅仅在类的构造方法中,别的地方不能这么用。
2) 第二、函数参数或者函数中的局部变量和成员变量同名的情况下,成员变量被屏蔽,此时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。当然,在没有同名的情况下,可以直接用成员变量的名字,而不用this,用了也不为错,呵呵。
3) 第三、在函数中,需要引用该函数所属类的当前对象时候,直接用this。
4) 其实这些用法总结都是从对“this是指向对象本身的一个指针”这句话的更深入的理解而来的,死记不然容易忘记而且容易搞错,要理解!
局部代码块(定义在方法里面)
public void method(){
{
int x = 4;
System.out.println("x="+x);
}
}
这种写法开发并不常见,但是面试可能会出现,它的作用就是可以限定变量的生命周期.
初始化块(构造代码块)
定义在类里
{
System.out.println("我是初始化块")
}
1) 括号里的是初始化块,这里面的代码在创建java对象时执行,而且在构造器之前执行!
2) 其实初始化块就是构造器的补充,初始化块是不能接收任何参数的,定义的一些所有对象共有的属性、方法等内容时就可以用初始化块了初始化!!
3)好处是可以提高初始化块的复用,提高整个应用的可维护性。
作者: 许庭洲 时间: 2013-3-27 07:45
值得学习ing!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |