首页 > 代码库 > java回顾之继承

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

 

java回顾之继承