目录
1:Java中封装的介绍
Java封装是面向对象三大特征之一,那什么是封装呢?其实就是一个大箱子里面呢,有很多东西,但是这个箱子是密封的,只留一个口子用于与箱子进行访问。嗯...该藏的藏好,该露的就露。如果你学过C语言之类的编程语言的话,其实你也可以把它理解成结构体吧,当然了是理解,并不是结构体的意思,他们还是有差别的。
2:设计封装
(1)封装的基本思路以及代码展现
开始设计封装,其实就是开始对对象的属性和方法进行封装。这里我建议封装的类最好单独一个类,一个类中最好就写一个类。
这里我直接举例子来看。
public class student{
String name;
int age;
}
//这是一个学生类
public class test {
public static void main(String[] args) {
student s=new student();
s.age=18;
s.name="jk";
System.out.println("该学生的名字是"+s.name+",年龄是"+s.age);
}
}
//这是一个测试类
public class student{
private String name;
private int age;
}
//这个时候如果加了private,就表示这些属性只能在本类中使用,其他类无法使用
//那么过下面的测试类如果继续直接调用属性的话,就会报错
那么我如果非要加个private(它的安全性更高)来复制,怎么办呢,这个时候我们需要set复制通道和get获取通道了。其实这两个通道我觉得大家还是自己写代码(多打打,熟能生巧蛮)
不过在说到这个之前我们得先知道this关键字和就近原则
public class student{
String name;
int age=20; 这里的age是成员变量
public void show(){
age=10; 方法里的叫做局部变量
System.ou.println(age); 输出10,这就是就近原则,谁离它近,他就输出谁
那如果我不想输出的是方法里的,我想输出的是成员变量,这就用到了this关键字了
System.out.println(this.age);
}
}
好现在我们知道了就近原则以及this关键字之后,我们开始进行封装吧。我们定义一个对象的时候,对于它的属性我们可以在创建它的时候直接赋值,也可以后面使用set通道赋值。那既然这样我们的构造方法就要分为空参构造和有参构造了。如果你没有写一个构造方法的话,虚拟机默认会给你调用创造空参。那说了这么多,就又出现了一个新的词汇javabean了。
(2)标准的javabean类
public class student{
private String name;
private int age;
public student(){
}
public student(String name,int age) {
this.name=name;
this.age=age;
}
public void setname(String name) {
this.name=name;
}
public void setage(int age) {
this.age=age;
}
public String getname() {
return name;
}
public int getage() {
return age;
}
}
这就是标准的javabean类
有空参和有参构造,以及set赋值方法以及get获取方法
现在看一下测试类
public class test {
public static void main(String[] args) {
student s1=new student("wang",18);
student s2=new student();
s2.setage(20);
s2.setname("jiji");
System.out.println("s1学生的名字是"+s1.getname()+",年龄是"+s1.getage());
System.out.println("s2的名字是"+s2.getname()+",年龄是"+s2.getage());
}
}