Java 面向对象的三大特性
封装
比如我们想描述人的属性,可以把人的相关属性name,age...封装成一个人类 Person
类,这样我们就实现从基本数据(属性)到类的封装
我们也可以把一些常用的方法封装到一个类里,作为工具类,比如数据格式校验的方法,
时间格式转换的方法, 这样我们就实现从常用方法到类的封装
有些情况下,我们的数据结构比较复杂,在一个类中的属性中也会声明另一个类的声明,
或者声明一个类的集合作为属性
class Teacher{ public String name; //老师的名字 public Family family;//家庭类 List<Student> students;//老师名下的学生集合 }
特殊情况下,这样的数据封装还不够,我们还需要限制访问权限,比如加上private修饰
符,限制只能在类的内部调用,比如:
class Bank{ private String money;//存款数目 public String getMoney() { return money;//银行人员执行取款操作 } public void setMoney(String money) { this.money = money;//银行人员执行存款操作 } }
以上的封装是在属性和方法的层次上,还有一种更加有意思的封装形式是内部类,规则是:
成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员), 这个规则结合继承,就巧妙的解决了Java单继承的问题:
public class External extends Father { private String Exname; //内部类 class internal { private String inname; public void print() { System.out.println(Exname); fatherPrint();//可以直接访问Father类的打印方法 } } public void get() { System.out.println(internal.class); } public String getExname() { return Exname; } public void setExname(String exname) { Exname = exname; } }
继承
多态
时间: 2024-10-05 17:47:54