Java基础
面向对象
封装
- 将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
- 好处:1.只能通过规定的方法访问数据;2.隐藏类的实例细节,方便修改和实现;
封装的步骤
修改属性的可见性(设为private)→创建get/set方法(用于属性的读写)→在get/set方法中加入属性控制语句(对属性的合法性进行判断)
访问控制修饰符
修饰符 | 同一个类 | 同一个包 | 子类 | 全局 |
---|---|---|---|---|
public | Y | Y | Y | Y |
protected | Y | Y | Y | N |
默认不写 | Y | Y | N | N |
private | Y | N | N | N |
- 只有public、默认不写 可以修饰接口
继承
-
继承是类与类的一种关系;
-
狗是动物,我们可以描述狗类继承动物。狗类是动物类的子类(派生类),动物类是狗类的父类(基类)。
-
好处:1.实现代码复用;2.子类拥有父类所有方法和属性;
-
子类继承父类方法后,如果功能不够,子类可以添加自己的行为和属性;
class 子类 extends 父类 { }
方法的重写
- 如果父类的方法不能满足子类的需求,则子类可以重写;
- 子类可以重写父类定义的方法,但方法名和参数列表必须相同;
- 重写的方法作用域不能小于父类;
- 重写后,系统调用时会默认调用子类重写的方法;
- super() :用法与this相同,但在子类构造方法中引用时需在第一行;
子类的创建
- 子类在创建时,会先创建父类的空间;
- 当父类有无参构造,系统会自动在子类创建一个无参构造调用父类无参构造;
- 如果父类只有无参构造,则子类必须定义构造方法调用父类构造;
final 关键字
- 使用final关键字做标示符有"最终的"含义。final可以修饰类,方法,属性和变量
- final修饰属性表示常量;
final修饰方法,表示该方法不能被重写;
final修饰类,表示该类不能被继承;
Object类
- Object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object类;Object类中的方法,适合所有类;