封装
封装最大的特点是内部结构对外不可见,如果类中的属性可以在类外通过实例化调用,这种调用是不安全的,而最妥当的方法就是用private实现对象属性的封装
我们先看一个未封装输出人名和年龄的例子
public class Text {
public String name;//使用public则能在类外被实例化调用
public int age;
public void tell() {//输出方法
System.out.println("name:"+ name +",age:"+ age);
}
public static void main(String[] args) {
Text dome = new Text() ;
dome.name = "张三" ;//实例化调用
dome.age = 18 ;
dome.tell();
}
}
下面是一个封装后输出人名和年龄的列子
public class Text {
private String name;//使用private则不能在类外被实例化调用
private int age;
public void tell() {
System.out.println("name:"+ name +",age:"+ age);//输出方法
}
public void Setname(String nametemp) {
name = nametemp;//赋值name
}
public void Setage(int agetemp) {
age = agetemp;//赋值age
}
public String tellname() {
return name ;//返回name
}
public int tellage() {
return age ;//返回age
}
public static void main(String[] args) {
Text dome = new Text() ;
dome.Setage(18);
dome.Setname("张三");
dome.tell();
}
}
前者未封装,后者封装,输出的结果都是
name:张三,age:18
重要的开发标准:以后在定义类时,类中的所有普通成员属性都要通过private封装,对应封装后也应写相应的setter(),getter()方法才能被外部调用,即代码中的赋值name方法和返回name方法。