封装
目的:为了维护程序安全稳定性,保护底层数据;
行为:一切为了维护程序的安全稳定性,保护底层数据的行为,都称之为封装。
具体体现:
- 私有属性,公有方法
- 私有构造,静态方法返回类对象
- 内部类:并列内部类包含内部类
访问修饰符:
public :该类和非该类均可访问;
private :只有该类可访问;
protect :该类及其子类的成员可以访问,同一个包中的类也可访问;
默认 :同一个包中的类可以访问;
重写:
子类根据需要可以对从父类中继承的方法进行改写,是多态机制的前奏
class Cirlce{
//求圆的面积
public double findArea(){
}
}
class Cylinder extends Circle{
//求圆柱的表面积
public double findArea(){
}
}
注意:
- 重写的方法和被重写的方法必须具有相同的方法名称,参数列表、返回值;
- 重写的方法不能使用比被访问方法严格 的访问权限;
- 父类中的私有方法不能被重写;
- 在子类重写方法中继续调用父类父类被重写的方法可以通过super.函数名获取;
重载:
方法名相同,参数不同(数量、类型、顺序),与访问权限修饰符返回类型无关也就是可以不同
//定义两个int型变量的和
public int getSum(int i, int j) {
return i + j;
}
//定义三个int型变量的和
public int getSum(int i, int j, int k) {
return i + j + k;
}
//定义两个double型数据的和
public double getSum(double d1, double d2) {
return d1 + d2;
}
重载与重写的区别:
重载:“两同一不同”:同一个类,同一个方法名,不同的参数列表,方法的重载与方法的返回值无关;
重写:(前提:在继承的基础之上,子类在获取了父类的结构以后,可以对父类中同名的方法进行“重构”)方法的返回值,方法名,形参列表形同;权限修饰符不小于父类的同名方法;子类方法的异常类型不大于父类的;
两个方法要同为static或同为非static。