面向对象三大特性
封装
访问控制权限最核心的一点:只对需要的类可见。
类的访问权限:
Public 不同包也可以访问这个类,默认访问修饰符,只能在同一个包中访问。
java中类成员的访问权限共有四种,分别是public、protected、default、private、他们的可见性如下:
static修饰符:只要被static修饰,就变成了静态的,不用通过对象点进行访问,直接用类名点访问即可,无论是属性还是方法。
继承
- 继承的本质是对某一类的抽象,从而实现对现实世界更好的建模。
继承是所有OOP(Object Oriented Programming)
语言和Java语言都不可或缺的一部分。只要我们创建了一个类,就隐式的继承自Object父类,只不过没有制定。如果你显式指定了父类,那么你继承于父类,而你的父类继承于Object
类。
public class Teacher extends Person{
}
// extends 是继承的关键字。
子类拥有父类的方法,如果没有实现子类自己的方法,那么默认用的就是父类的方法。如果字类实现了自己的方法,那么就是重写了父类的方法。
多态
多态指的是同一个行为具有不同表现形式。是指一个类实例的相同方法具有不同形式的表现。封装和继承是堕胎的基础。<br />多态的实现具有三种充要条件:
- 继承
- 重写父类方法
- 父类引用指向字类对象
子类型的对象可以赋值给父类型的引用变量,这叫向上转型。
那父类型的变量可以赋值给子类型的变量吗?或者说可以向下转型吗,语法上可以进行强制转换,但是不一定转换成功。
其他概念
组合
组合其实不难理解,就是将对象引用置于新类中即可。组合也是一种提高类复用性的方式。如果你想让类具有更多的扩展功能,记住多用组合,少用继承。
代理
用到回来补充