封装性
封装性是面向对象的第一大特性,例子:
package javatest; class Person1 { private String name; // 声明姓名的属性 private int age; // 声明年龄的属性 public void tell() { // 取得信息的方法 System.out.println("姓名:" + getName() + ",年龄:" + getAge()); } public String getName() { // 取得姓名 return name; } public void setName(String n) { // 设置姓名 name = n; } public int getAge() { // 取得年龄 return age; } public void setAge(int a) { // 设置年龄 age = a; } } public class Person { public static void main(String args[]) { Person1 pp = new Person1(); // 声明并实例化 pp.setName("张三"); // 调用setName,设置姓名 pp.setAge(-30); // 同上 pp.tell(); } }
结果:
姓名:张三,年龄:-30
如果要加年龄判断可以在set方法里面添加,!!
1.类中的全部属性被封装,封装之后的属性必须通过setter和getter进行访问。
2.面向对象的封装性本身并不是单单指private关键字, 要记住的是:用private声明的属性或方法只能在类的内部被调用,而不能在类的外部调用
3.类中方法的调用,直接用方法名就可以, 如果非要强调是本类中的方法,也可以在调用时用“this.方法名称()”的形式。建议使用这样的方法写代码,!!!