JAVA的extends使用方法

      理解继承是理解面向对象程序设计的关键。在Java中,通过keywordextends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。在Java中不同意多继承。
(1)继承

class Animal{
	void eat(){
		System.out.println("Animal eat");
	}
	void sleep(){
		System.out.println("Animal sleep");
	}
	void breathe(){
		System.out.println("Animal breathe");
	}
}

class Fish extends Animal{
}

public class TestNew {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Animal an = new Animal();
		Fish fn = new Fish();
		
		an.breathe();
		fn.breathe();
	}
}


在eclipse运行得:
Animal breathe!
Animal breathe!
.java文件里的每一个类都会在目录bin下生成一个相应的.class文件。运行结果说明派生类继承了父类的全部方法。

(2)覆盖

class Animal{
	void eat(){
		System.out.println("Animal eat");
	}
	void sleep(){
		System.out.println("Animal sleep");
	}
	void breathe(){
		System.out.println("Animal breathe");
	}
}

class Fish extends Animal{
	void breathe(){
		System.out.println("Fish breathe");
	}
}

public class TestNew {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Animal an = new Animal();
		Fish fn = new Fish();
		
		an.breathe();
		fn.breathe();
	}
}

运行结果:

Animal breathe
Fish breathe

在子类中定义一个与父类同名,返回类型,參数类型均同样的一个方法,称为方法的覆盖。方法的覆盖发生在子类与父类之间。另外,可用super提供对父类的訪问。

 

參考原文:http://tieba.baidu.com/f?kz=295170500

參考原文:http://zhidao.baidu.com/question/25517733.html

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。