JAVA是一个纯面向对象的语言。
面向对象的三大基本特性:继承、封装、多态。
1)继承。明确表述共性,以便于重用,由父类派生出子类,继承方法和实例变量,以此增加新的方法,以满足特殊需求。
你可以理解为:唐老鸭(子类)是鸭子(父类)。唐老鸭(子类)继承了鸭子(父类)的特性,子类拥有鸭子(父类)的基本技能
游泳(方法、实例变量)。同时,唐老鸭还有自己独有技能:开船(新增的方法)。
2)封装。把过程和数据包装起来。
你可以理解为:游泳这项技能,鸭子们天生具有,所以观众不必关心鸭子是怎么游。我们把鸭子游泳的过程和数据包装起来,用户直接调用即可。
3)多态。允许不同类的对象对同一消息做出响应。
你可以理解为:唐老鸭和丑小鸭都是鸭(多态),所以它们两都能游泳(对同一消息作出响应)。
另外Java还有一大特征:抽象,即提炼目标的某个特征。可以理解为:鸭子的嘴是扁的(抽象)。
下面简单的例子:
interface 鸭子的行为{//定义接口
void 飞();
void 游泳();
void 呱呱叫(String voice);
}
class 鸭子 implement 鸭子的行为{ //实现接口的类
public 鸭子(){//类的构造方法
//构造器......
}
public void 飞(){
//实现接口的方法
}
public void 游泳(){
}
public void 呱呱叫(String voice){
this.voice=voice;
}
public static void main(String args[]){//入口函数
鸭子 duck =new 鸭子();
duck.飞();
duck.游泳();
duck.呱呱叫();
}
}
public class 唐老鸭 extends 鸭子{ //子类继承父类,(封装/继承/多态)
private String 开船;//定义私有成员
public 唐老鸭(String 开船){
this.开船=开船;//类成员初始化
}
public String 开船(){
return 开船;
}
}