用例子解释Java封装
Java中的“封装”用大白话讲就是 给成员变量设置一层隔板,这个隔板决定了什么值可以和成员变量牵手。封装 使赋值 符合现实世界。
例如:
(1)没有封装
成员变量age可以被赋值为-16,这不违反计算机程序语法,但是违法现实情况
(2)封装后
成员变量age仅可以被赋值为大于等于0的数,符合现实情况
代码:
package com.pangwu;
/**
* author:pangwu
*/
class person{
private String name;
private int age;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public int getAge(){
return age;
}
public void setAge(int age){
if(age<=0){
System.out.println("您输入的年龄不正确!");
}else{
this.age=age;
}
}
public void speak(){
System.out.println("姓名:"+name+" "+"年龄:"+age);
}
}
public class Example {
public static void main(String[] args){
person p = new person();
p.setName("李雷");
p.setAge(16);
p.speak();
}
}
运行结果:
代码:
package com.pangwu;
/**
* author:pangwu
*/
class person{
private String name;
private int age;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public int getAge(){
return age;
}
public void setAge(int age){
if(age<=0){
System.out.println("您输入的年龄不正确!");
}else{
this.age=age;
}
}
public void speak(){
System.out.println("姓名:"+name+" "+"年龄:"+age);
}
}
public class Example {
public static void main(String[] args){
person p = new person();
p.setName("李雷");
p.setAge(-16);
p.speak();
}
}
运行结果:
怎样使用封装:
类中成员变量都设置为私有private;
使用setXxx()给成员变量赋值;
使用getXxx()得到成员变量的值;
设置一个public类型的函数,用它来操控成员变量的使用;
注意:
private类型的成员变量只能被该类其他成员访问;