封装
把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义好的接口。
访问限定符
- public:被public修饰的内容在当前项目中都可见,描述公共的,公开的内容
- default: 对于自己家族中(同一个包中)不是什么秘密,对于其他人来说就是隐私了,包访问权限。
- private:只在当前类的内部可见,出了类的{},对外部完全隐藏
- protected:继承访问权限。
作用:
(1)保证数据的安全性,防止调用者随意更改数据。(例如,在封装一些常用的工具类时,会把类的无参构造器私有private化或者在类名前使用abstract修饰,不准创建该类,达到只能调用,继承,不能修改的效果)
(2)提高代码的复用性。(把公用的方法放到一个类中,谁需要谁直接就调用)
提示:以下是本篇文章正文内容,下面案例可供参考
继承
一般地,在父类中存放多个子类的共同字段和方法,在子类中存放自己特有的字段和方法
单继承:
- 一个子类只能有一个父类(一个儿子只能有一个爹)
- 一个父类可以有多个子类(一个爹可以有多个儿子)
- 如果父类中的成员使用 private 修饰,子类继承不到。private 只能在本类中访问
- 父类的构造器,子类也不能继承,因为构造器必须和当前的类名相同
作用:
- 可以解决多个类存在共同代码的问题。
多态
多态是指允许不同子类型的对象对同一消息作出不同响应
多态实现条件:
-
必须在继承体系下
-
子类必须要对父类中方法进行重写
-
通过父类的引用调用重写的方法
多态操作的两种实现方式:
- 操作继承关系
父类 变量名 = new 子类();
// 父类
public class People {
}
// 子类
public class Girl extends People{
}
People p = new Girl(); // 继承关系
- 操作实现关系.
接口 变量名 = new 实现类();
// 接口
public interface Man {
}
// 实现类
public class BadMan implements Man{
}
Man m = new BadMan(); // 接口和实现类关系
提供了大量能使我们快速便捷地处理数据的函数和方法。