java的特性
java是一门面向对象的编程语言,讲到面向对象,就不得不提到面向对象的三大特征,即:封装、继承、多态。现在,我们就来总结一下这三大特性。
概念
封装性是面向对象编程的核心思想,即用类作为载体,将自己的属性和方法封装起来,对外部的调用者隐藏其实现的细节,这就是封装的思想。
访问权限修饰符
java通过不同的访问权限修饰符,将自己的属性和方法进行修饰,从而起到隐藏细节的效果,则讲一下访问权限修饰符:
private(私有的)修饰符:用 private修饰的属性和方法,只能在本类中使用和访问,其他条件下无法调用和访问。
default(默认)修饰符:java默认的访问权限修饰符,即当你没有写任何访问权限修饰符的时候,java默认带上defult修饰符,用defult修饰的属性和方法具有包权限,即在同包的其他类可以调用属性和方法。
protected(受保护的)修饰符:用protected修饰的属性和方法,只能在本包和本类的子类中才能访问和调用。
public(公开的)修饰符:用public修饰的属性和方法是公开的,即任何人都有权访问和调用(不推荐使用)。
概念
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
例如抽象一点儿的动物类Animal,有自己的名字属性name,还有自己移动的方法move(),当想创建一个Dog类的时候,刚好会有和Animal类相同的属性和方法,那么就可以让Dog去继承Animal类,实现代码复用。
用法
继承用关键字 extends 实现子类继承父类,例如:
class A{
//属性
//方法体
}
class B extends A{
//继承父类的方法和属性
}
概念
指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。
向上造型
可以将一个父类(接口)的引用指向一个子类实例,称为向上造型,它只能访问父类(接口)的方法,不能使用其子类的其他方法,调用时,真正执行的是子类(实现类)的方法。
向下造型
把上层类型.转换为下层类型,称为向下造型,向下造型是为了使用下层类型的属性和方法,它不总是安全的,可能会抛出java.lang.ClassCastException异常,所以在使用向下造型时,一般都要用instanceof操作符去处理。
多态参数
当方法的参数为上层类型时,可以传入下层类型,例如:(各类乐器实现了Instrument 类的接口)
public class Musician{
void play(Instrument instrument){
//方法体
}
}
public class Test{
Musician musician = new Musician();
musician.play(new Erhu());
musician.play(new Piano());
}