继承
Java三大特征:继承封装多态
继承介绍:
现实世界中的继承无处不在。比如:
动物:
哺乳动物、爬行动物
哺乳动物:
灵长目、鲸目等
继承度实现:
使用extends关键字即可,extands的意思是“扩展”。子类是父类的扩展。
【注】JAVA中类只有单继承没有多继承! 只有一个直接父类,接口可以多继承!
publicclass Test
{
publicstaticvoid main(String[]args)
{
Creepa =newCreep();
a.luansheng();
}
}
class Animal
{
//只要是动物就具有的属性和方法
Stringeye;
publicvoid run()
{
System.out.print("跑跑");
}
publicvoid eat()
{
System.out.println("吃吃");
}
}
class Mammalextends Animal//哺乳动物也是动物,所以继承动物类的所有属性与方法
{
publicvoid taisheng()
{
System.out.println("我是胎生!");
}
}
class Creepextends Animal//爬行动物类
{
publicvoid luansheng()
{
System.out.print("我是卵生!");
}
方法的重写(override)
在子类中可以根据需要对从基类中继承来的方法进行重写。
重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。
重写方法不能使用比被重写方法更严格的访问权限。(由于多态)
方法重写和方法重载的区别
很多人问重写和重载什么区别? 他们两个完全是两回事。除了名字都带一个“重”字之外。
方法重载指的是:同一个类中,一个方法名对应了多个方法(形参列表不同)
方法的重写指的是:子类重写了父类的方法!
publicclassTest
{
publicstaticvoid main(String[]args)
{
Creepa =new Creep();
a.luansheng();
a.run();
}
}
class Animal
{
Stringeye;
publicvoid run()
{
System.out.print("跑跑");
}
publicvoid sleep()
{
System.out.print("睡睡");
}
}
class Creepextends Animal//爬行动物类
{
publicvoid luansheng()
{
System.out.print("我是卵生!");
}
publicvoid run()//重写了父类Animal中的run方法
{
System.out.println("我是一只小小鸟!想要飞却飞不高哦!");
}
}
输出结果:我是卵生!我是一只小小鸟!想要飞却飞不高哦!