Java OOP
标签(空格分隔): Java
Java OOP ( Object Oriented Program——面向对象编程 ),OOP的四大支柱:继承、封装、多态、抽象
内容概要:
类和对象
- 类(Class):定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。在Java中类包括属性和方法(构造方法);构造方法没有返回值类型,也不能有返回值。父类中的构造方法不能被子类继承,即便它是public的
- 对象:是类的实例。对象可以用来调用类里面的方法。
重载
- 如果函数有相同的名称和返回值,而有不同的参数个数或参数类型,则这些函数就是重载函数。
- 方法重载也称为静态多态。
- 重载的三个特征:方法名相同、参数不同(包括参数数量不同、类型不同、顺序不同)、同一作用域。
继承(extends)
- 继承的方法允许在不改动原程序的基础上对其进行扩充,这样使得原功能得以保存,而新功能也得以扩展。这有利于减少重复编码,提高软件的开发效率。
- 一个类可以继承其它类的成员,被继承的类叫基类或父类;继承类叫派生类或子类。
- 派生类不但拥有自己的成员变量和成员函数,还拥有父类的成员变量和成员函数。
重写
- 父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。
- 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
- 子类函数的访问修饰权限不能少于父类的。
多态
- 多态存在的三个必要条件:继承、重写、父类引用指向子类对象
- 多态的优点:消除类型之间的耦合关系、可替换性、可扩充性、接口性、灵活性、简化性
抽象类和接口
- 抽象类:class前面用abstract修饰、在方法前面加上abstract关键字,且没有实现、如果某各类中有抽象方法,这个类就是抽象方法
- 抽象类特点:子类如果不实现父类的抽象方法,那么子类也是抽象类、不能创建对象,但是可以引用子类对象
- 接口:定义语法:public interface 接口名{} 、接口中只能包含常量属性和未实现的方法
- 接口的特点:接口的所有属性和方法必须用public修饰、不能new对象、接口可以继承多个接口
final和static修饰符
- final:修饰属性:此变量不能被修改,一般是常量的修饰符;修饰方法:此方法不能被覆盖;修饰类:此类不能被继承。
- static:静态;在一个类中被修饰的变量和方法不需要引用可以直接调用。
- 单例模式
//懒汉式单例类.在第一次调用的时候实例化自己
public class Singleton {
private Singleton() {}
private static Singleton single=null;
public static Singleton getInstance() {
if (single == null) {
single = new Singleton();
}
return single;
}
}
//饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton1 {
private Singleton1() {}
private static final Singleton1 single = new Singleton1();
//静态工厂方法
public static Singleton1 getInstance() {
return single;
}
}