详述Java重写

重写:当子类需要父类的功能,而子类有新的内容,为了使其准确描述子类的行为,则需要重写。方法重写又称为方法覆盖、方法复写。

方法重写的特点:

-重写后的方法要与父类中的方法名,参数列表(参数类型和参数个数)一致,不包括参数名;

-如果父类方法的返回值为void或基本数据类型则重写后的方法要与返回值相同;

-如果父类方法的返回值为引用数据类型,则重写后的方法返回值类型要么与分类一致,要么是父类返回值类型的子类(Object是所有类的父类,String没有子类);

-子类要重写的方法,方法的权限修饰符不能比父类低(public protected 默认 private);

-父类私有的方法不能被重写(private);

-父类方法用static修饰,则不可被重写但可被继承;

 父类中非静态方法,子类重写后不能添加static;

实例:

-创建父类方法:

public class Father {
	public void eat() {
		System.out.println("用筷子吃饭");
	}
	public void work(){
		System.out.println("白天工作");
	}
}

-创建子类方法:

public class Son extends Father{
	@Override
	public void eat() {
		super.eat();
		System.out.println("用刀叉吃饭");
	}
	public void work(){
		System.out.println("晚上工作");
	}
	
}

-创建Test1类调用:

public class Test1 {
	public static void main(String[] args) {
		Son son = new Son();
		son.eat();
		son.work();
		Father father = new Father();
		father.eat();
		father.work();
	}
}

实例分析:

1.使用super关键字可以在子类中调用父类方法

2.注解:@Override表示方法被重写

3.子类重写了父类的方法,则使用子类创建的对象调用该方法时,调用的是重写后的方法

4.重写时函数的返回值类型、函数名、参数列表都一样

发布了18 篇原创文章 · 获赞 2 · 访问量 329

猜你喜欢

转载自blog.csdn.net/bravery__/article/details/104733125