java面向对象第一章
1、 使用类图如何描述设计
- private(私有) 属性
+ public(公共) 方法
访问修饰符:
缺省(默认),只能被同一个包中的类访问
private(私有的),访问权限最小,只能自己访问
public(公共的),访问权限最大,任何类都可以访问
protected(受保护的)【继承中讲解】
2、 面向对象设计的步骤
a) 发现类(名词)
b) 发现属性(名词或形容词)
c) 发现方法(动词)
3、 类和对象的概念
l this关键字,表示当前类的对象
n 只能在当前类中使用
n 不能在static方法中出现
l static标记的方法或属性,表示类的成员
n 在当前类,直接写方法名来调用
n 在其他类中调用
必须使用【类名(或对象名).static成员名】
l final关键字,表示类的常量(存储的是不变的数据)
n 修饰的全局变量(属性),常量
n 常量名,遵循编码规范,必须全部大写
n 声明后,必须马上赋值,在后面的代码中不能修改常量的值
n 如何调用常量?
u 在自己内部,直接写常量名
u 在其他类中,通过【对象名.常量名】
4、 构造函数——1种特殊的方法
a) 特征?
i. 方法名和类名相同
ii. 没有返回类型,void关键字都没有
iii. 一般情况下,访问修饰符是public的
b) 作用?
初始化类的成员
c) 如何调用?
创建对象时自动调用构造方法
类名 对象名=new 类名(【值】);
构造方法重载后,2个构造方法之间如何相互调用?
this(【值】);//必须写在第一行
d) 注意事项:
i. 如果类中,没有写构造方法,系统会自动提供一个无参数的构造方法用于初始化类的成员
ii. 如果类中,写了带参数的构造方法,系统将不再自动提供无参数的构造方法
5、 方法重载
a) 特征
i. 在同一个类中
ii. 方法名相同
iii. 参数列表(个数、类型)不同
b) 注意事项:
与方法的返回类型,访问修饰符没有任何关系
2、 重载后的方法,如何调用?
根据传递的实参的个数和类型,自动查找对应的方法
6、 封装的好处?
隐藏实现的细节,提高程序的可重用性和可维护性
7、 封装的步骤?
l 将属性的public或缺省权限 修改为私有的private
l 编写封装属性的2个方法
n public void set属性名(属性数据类型 参数名){
}
n public 属性的数据类型 get属性名(){
return 属性名;
}
l 修改setter方法体,编写逻辑控制语句(比如if),限制参数不符合逻辑的值
1、 自动生成属性对应的getter和setter方法
l 快捷键:Shift +Alt+ S+R
l MyEclipse中菜单栏
Scource——>Generate Getters and Setters…