标签:
继承
extends是拓展的意思,而不是继承。即子类是父类的拓展,子类是一种特殊的父类。(子类不能继承构造器)
继承父类例如
class Fruit
{
public String name;
public void info()
{
System.out.println("名字叫"+name+"好吃");
}
}
class Apple extends Fruit
{
public static void main(String[] args)
{
Apple apple=new Apple();
apple.name="apple";
apple.info();
}
}
很好理解
重写父类方法
class banana extends Fruit
{
public void info()
{
System.out.println("名字叫"+name+"不好吃");
}
}
名字叫香蕉不好吃
此事执行的就不是父类的info方法了,即子类覆盖了父类的方法,也叫方法重写Override
重写方法遵循“两同两小一大”
两同:方法名,形参列表
两小:返回值比父类返回值类型要小或者相等,异常规格要小或者相等
一大:子类的访问权限要比父类大或者相等
子类重写后,无法访问父类被隐藏的方法,不过可以使用“super”关键词或者使用“父类类名”调用被隐藏的方法。
class banana extends Fruit
{
public void info()
{
System.out.println("名字叫"+name+"不好吃");
}
public void callSuper()
{
super.info();
}
public static void main(String[] args)
{
banana b=new banana();
b.name="香蕉";
b.info();
b.callSuper();
}
}名字叫香蕉好吃
如果父类的方法为private,则不叫重写,叫新方法
标签:
原文地址:http://www.cnblogs.com/vincentmax/p/5932504.html