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