面向对象编程
以类的方式组织代码,以对象的方式组织数据。
核心思路:
- 封装
- 多态
- 继承
一、方法
public boolean func (int a, int b){
return a == b;
}
1.1 修饰符
- public
- private
- protected
- static
- final
1.2 分类
- 静态方法
- 非静态方法
静态方法不能调用非静态方法
二、类和对象
类是一个抽象的,对象是具体的。
2.1 构造器
使用 new 关键字,会调用类的构造器进行初始化。
当一个类未定义任何构造器,会存在一个空构造器。一旦定义了一个有参构造,无参构造需要显示定义
多个构造函数的原理就是方法的重载。
三、封装
高内聚,低耦合
类中的数据应该通过操作接口来完成。
public class test {
private String name;
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
}
四、继承
继承的本质是对一批类的抽象。
Is a
Java 中只有单继承,没有多继承。
如果一个类没有指定父类,系统直接让其继承Object。所以所有类都直接或者间接
继承Object
类。
父类私有的属性或者方法无法被继承。
4.1 super
可以在子类中调用父类的可访问方法以及构造器
super.func(); // 父类方法
super(); // 父类无参构造器
4.2 注意点
- super 调用父类构造器是,必须在第一行
- super 和 this 不能同时调用构造方法
- 类被final修饰之后不能被继承
4.3 方法重写
- 方法名和参数列表必须相同(不相同叫做重载)。
- 父类 private的方法无法被子类重写。
- 修饰符:范围可以扩大。
- 通过 static、private、final修饰的方法无法被重写
五、多态
父类的引用可以指向子类,方法的调用与引用类型有关。
public class Test{