java回顾之继承

继承

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,则不叫重写,叫新方法

 

posted @ 2016-10-05 17:02  巧克力曲奇  阅读(99)  评论(0编辑  收藏  举报