1,封装:
private关键字
private是一个权限修饰符,代表最小权限。
可以修饰成员变量和成员方法。
被private修饰后的成员变量和成员方法,只在本类中才能访问。
public class Student {
private String name;
private int age;
public void setName(String n) {
nmae = n;
}
public String getName() {
return name;
}
public void setAge(int a) {
age = a;
}
public int getAge() {
return age;
}
}
this关键字
this代表所在类的当前对象的引用(地址值),即对象自己的引用。
用来解决成员变量和局部变量重名的问题。
static关键字
在类内数据成员的声明前加上关键字static,该数据成员就是类内的静态数据成员。
封装的好处:
1)提高了代码的复用性。
2)隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一,也可以理解为就是封装的概念。
3)提高了安全性。
**封装原则:**将不需要对外提供的成员变量隐藏起来,把属性都表示为私有的,提供其公共的方法对其访问
2,类和对象:
**类:**是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该 类事物。
类的格式:
public class ClassName {
//成员变量
//成员方法
}
**对象:**是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性 和行为。
public class Student{
//成员变量
String name; //姓名
int age; //年龄
//成员方法
public void study(){
Systen.out.println("好好学习");
}
}
对象的定义与使用:
1)对象的定义:
类名 对象名 = new 类名();
2)定义对象的方法:
a,先声明类类型,然后再定义对象
b,在声明类类型的同时定义对象
class Student//声明类类型
{
public://先声明公用部分
void display()
{
cout<<″num:″<<num<<end1;
cout<<″name:″<<name<<end1;
cout<<″sex:″<<sex<<end1;
}
private://后声明私有部分
int num;
char name[20];
char sex;
}
stud1,stud2;//定义了两个Student类的对象
//在定义Student类的同时,定义了两个Student类的对象。
c,3.不出现类名,直接定义对象
class//无类名
{
private://声明以下部分为私有的
┆
public://声明以下部分为公用的
┆
}
stud1,stud2;//定义了两个无类名的类对象
3)使用对象访问类中的成员:
对象名.成员变量;
对象名.成员方法();