学编程吧学java教程之封装发布了,欢迎大家通过[url]xuebiancheng8.com[/url]来访问
下面来分析面向对象中的封装,什么是封装呢。先来段代码
public class Person{
String username;
int age;
}
Person p = new Person();
p.username="张三";
p.age=-10;
上面实例化了一个Person对象p,然后赋值,这里我们将年龄的值赋值成了-10,这里很明显是不正确的,因为年龄不能为负的,那怎么办呢,这里我们这样,将username,age这两个属性进行私有化,不让外部随便能给他赋值。于是代码变成这样
public class Person{
private String username;
private int age;
public String getUsername(){
return username;
}
public void setUsername(String username){
this.username = username;
}
public int getAge(){
return age;
}
public void setAge(int age){
if(age<0){
age = 0;
}else{
this.age = age;
}
}
}
Person p = new Person();
p.setUsername("zhangsan");
p.setAge(-10);
这样经过setter和getter方法后,用户如果赋值为负,那他的值就是0,这就是用了封装,对属性进行了私有化,同时生成了setter和getter方法,以后类中如果有属性的时候,一般情况下都要进行封装。
具体内容请通过[url]xuebiancheng8.com[/url]来访问。
具体网址是
[url]http://xuebiancheng8.com/play/goodgoodstudy_92_daydayup.html[/url]
下面来分析面向对象中的封装,什么是封装呢。先来段代码
public class Person{
String username;
int age;
}
Person p = new Person();
p.username="张三";
p.age=-10;
上面实例化了一个Person对象p,然后赋值,这里我们将年龄的值赋值成了-10,这里很明显是不正确的,因为年龄不能为负的,那怎么办呢,这里我们这样,将username,age这两个属性进行私有化,不让外部随便能给他赋值。于是代码变成这样
public class Person{
private String username;
private int age;
public String getUsername(){
return username;
}
public void setUsername(String username){
this.username = username;
}
public int getAge(){
return age;
}
public void setAge(int age){
if(age<0){
age = 0;
}else{
this.age = age;
}
}
}
Person p = new Person();
p.setUsername("zhangsan");
p.setAge(-10);
这样经过setter和getter方法后,用户如果赋值为负,那他的值就是0,这就是用了封装,对属性进行了私有化,同时生成了setter和getter方法,以后类中如果有属性的时候,一般情况下都要进行封装。
具体内容请通过[url]xuebiancheng8.com[/url]来访问。
具体网址是
[url]http://xuebiancheng8.com/play/goodgoodstudy_92_daydayup.html[/url]