1.封装的概念
(1)public该类或非该类均可以访问
同一个类:{}左大括号和右大括号之间。
同一个包的类:在一个包(package)中,class和public class为同一个包的类,属于同一个文件。
不同包内的子类:分别创建两个不同的包(package),在每个包中,分别创建class的类,称为不同包内的子类。
(2)private只有同一个类才可以访问,然而同一个包内的类是不可以访问的。
显示是错误的。
private可以通过函数间接的访问
class student/*封装类*/
{
int age;
String name;
double score;
private int sex;
void changeSex(int finalsex)
{
sex=finalsex;
}
/*封装了两个方法——方法类似于C函数*/
void introduce()
{
System.out.println("sex="+sex+",name="+name+",age="+age+",score="+score);
}
void testFunc()
{
System.out.println("testFunc");
}
}
public class Demo1 {
public static void main(String[] args) {
student stu1=new student();
//student 为结构体类型
//stu1 为变量名
//new student() 给构造方法进行传参
/*类似于下面*/
//struct student *p
// p=malloc(sizeof(struct student));
//既定义了一个变量,也为这个变量分配了一个空间。
//赋值
//stu1.sex=1;
stu1.age=10;
stu1.name="小米";
stu1.score=100;
stu1.changeSex(10);
stu1.introduce();//把里面的所有东西都传出来
//对于同一个类当中,方法直接可以访问到变量。
//对于C语言来说,以传参的方式才能访问。
}
}
运行结果:
总结:一些权限或者一些变量,不希望在别的函数通过点(.)来访问,可以把变量设置为private,对于外者是不可见的,但是它提供的一些函数外者是可以见的,来间接改变内容。
——@上官可编程