封装的作用
- 封装是为了解决安全性问题
封装的描述 把对象的全部属性和服务结合在一起 形成一个不可分割的部分 以及尽可能隐藏对象的内部结构
怎么封装
1类的定义
2方法定义
封装实现
- 属性private化
- 提供get()set()方法
举例以及调用
public class Box {
private double length;
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
public static void main(String[] args) {
Box box=new Box();
box.setLength(20.1);
System.out.println(box.getLength());
}
}
继承
- 子可调用父,父不可调子
- 子类继承父类所有成员 private和默认跟随继承 但是没有访问权限
- 子类创建前 必先创建父类 先有父再有子
- 如果类没有继承 则默认继承object类
- 一个子类只能继承一个父类(单继承)
- 继承具有传递性
-
public class Squree extends Box{ public static void main(String[] args) { Squree squree=new Squree(); squree.getLength(); } }
Squree继承了Box类 并且 调用Box类中的 getlength方法
-
如果父类重写带参构造,则子类也必须重写带参构造
-
public class Box { private double length; int a; int b; Box(int a,int b){ } public double getLength() { return length; } public void setLength(double length) { this.length = length; } }//因为Box类自定义了带参构造方法 因此子类Squrree也要重新构造带参的构造方法 public class Squree extends Box{ Squree(int a, int b) { super(a, b); } public static void main(String[] args) { Squree squree=new Squree(2,4); squree.getLength(); } }
super 与this
- this 当前对象的引用
- super 父类对象的引用
- super(参数)父类的构造方法
- this(参数)本类的构造方法
- super(参数)和this(参数)必须写第一行