面相对象的思想
一、类与对象
1、类:类是对象的模版,类是抽象的,不能被具体描述
(1)公共的属性,特征,公共变量
(2)公共的行为,功能,方法
2、对象: 能够被具体描述,万事万物皆对象,通过类的模版实例化出对象
类名 对象名 = new 类名();
设置对象的初始值
对象名.属性 = "值";
取值: 变量 = 对象名.属性
二、构造函数:
作用:1.创建对象,实例化对象,默认调用无参构造函数
2.创建对象并赋初始值,调用有参构造函数
特点:
1.方法名必须和类名相同
2.没有返回值
3.一般为public
4.会默认提供一个无参,当定义了有参的时候,无参不再提供
5.可以进行重载(同名不同参)
三、构造方法:构造函数
作用:给类的成员赋初始值
语法:访问修饰符 构造方法名(形参列表)
{
赋值;
}
特点:
a>.方法名必须和类名相同
b>.构造方法无返回类型(也不能定义成void)
c>.访问修饰符一般都为public
d>.任何类都默认自带一个无参的构造方法
e>.当给类定义了一个有参的构造方法的时候,无参构造方法不再配置(不再有无参构造方法)
f>.构造方法也可以重载
四、如何调用构造方法:
类名 对象名 = new 类名();
1.创建了一个具体的对象
2.调用了无参的构造方法
this关键词
作用:this代表本类,访问本类中的成员
this用在哪,this就代表此类
五、什么是封装?
1.保护类中成员的安全和有效性
2.保护类中成员的一种机制
3.保护属性数据的安全性和有效性
六、如何使用封装?
. 第一步:在属性的修饰符设置成private
private 私有的属性;
例如:
private String stuName;
. 第二步:分别给私有的属性配置二个公开get/set的方法
获取属性的方法: getXXX()
赋值属性的方法: setXXX()
//2.2设置公开的返回属性值 get+属性名
public String getStuName(){
//必须返回指定的属性
return this.stuName;
}
private String stuSex;
public void setStuSex(String stuSex){
//判断数据有效性
if (stuSex == "男" || stuSex == "女"){
this.stuSex = stuSex;
}else{
this.stuSex = "性别不详";
}
}
方法的命名规则: get/set+属性每个词第一个字母大写
public String getName()
{
return name属性;
}
public void setName(String name)
{
//数据校验
this.属性 = name值;
}
不要将所有信息暴露,通过封装方法实现
//3.1通过封装设置值
stu.setStuName("小明");
stu.setStuAge(18);
stu.setStuSex("男");
//3.2需要获取对象的属性值,在测试方法中打印输出
System.out.println("学生姓名:"+stu.getStuName()+"性别:"+stu.getStuSex()+
"年龄:"+stu.getStuAge());
小结:
1.通过创建对象调用构造方法
2.通过类可以创建出无数个具体的对象,类是对象模板
3.每个对象都会有类的公开的成员属性以及对象值
4.每个对象都共享类的成员
5.通过封装的方法来保护类的成员安全性和数据有效性