面向对象的封装性:
/* 面向对象的特征一:封装与隐藏 问题:创建类的对象以后如果直接用”对象.属性“ 的方式对相应的对象属性赋值的话,可能 出现不符合实际情况的意外,所以使用通过对象.方法的形式,来控制对象对属性的访问。 实际情况中,对属性的要求就可以通过方法来体现 解决的方法:(封装性的思想) 将类的属性私有化,提供公共的方法(setter& getter)来调用 二:权限修饰符: 可以修饰属性和方法 private 缺省 protected public */ public class TestAnimal { public static void main(String[] args) { Animal a = new Animal(); // a.legs = -4; // a.name="小白"; 属性声明为private出了他的这个类不能直接调用 得用方法调用 a.setLegs(4); } } class Animal { private String name; private int legs; public void eat() { System.out.println("吃"); } public void sleep() { System.out.println("睡觉"); } public void info() { System.out.println("name:" + name + "legs:" + legs); } //设置类的属性 public void setLegs(int m) { if (m > 0 && m % 2 == 0) { legs = 1; } else { System.out.println("输入有误"); } } //获取类的属性 public int getLegs() { return legs; } public void setName(String n) { // . . . . name = n; } public String getName() { return name; } }
权限修饰符:
注意:
对于class的权限修饰符只可以用public和default(缺省)
public类可以在任意地方被访问
default类只可以被同一个包内部的类访问