</pre><pre name="code" class="java">
一:封装
二:继承(如果只考虑代码重用,可以不用继承,封装和组合也能实现)public class bird{
animal animal=new animal();//将已经封装的类加入到另一个类里</span>
public void voice(){
animal.voice();
System.out.print("叽叽");
}
}
public class animal{
public void voice(){
System.out.print("animal叫");
}
}
public class text{ //测试类
<span style="font-family: Arial, Helvetica, sans-serif;"> public static void main(String[] args){</span>
<span style="font-family: Arial, Helvetica, sans-serif;"> bird bird=new bird();</span>
<pre>
bird.voice();//也能调用animal的voice方法
}
}
三:抽象(用abstract关键词修饰,)
1.类里面方法声明,但是没有方法体。
2抽象方法必须被重写。
3.抽象类不能被实例化,只能被继承。
四.多态(不同类的对象对同一消息做出的不同反应)
public class animal{
public void run(){
system.out.print("动物跑");
}
}
public class bird extend animal{
public void run(){
system.out.print("鸟飞");
}
public class dog extend animal{<
public void run(){
system.out.print("狗跑");
}
public class text{
public static void main(string[] args){
animal b=new bird();
animal d=new dog();
getRun(b);//调用鸟的run方法
getRun(d);//调用狗的run方法
}
public static void getRun(animal a){
a.run();
}
}