JAVA的extends用法
2016-01-18 15:36
435 查看
理解继承是理解面向对象程序设计的关键。在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。在Java中不允许多继承。
(1)继承
[java] view
plaincopy
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)覆盖
[java] view
plaincopy
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
(1)继承
[java] view
plaincopy
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)覆盖
[java] view
plaincopy
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
相关文章推荐
- java通用日期转换(string 转 date)
- Spring配置文件中的 default-lazy-init="true"
- java入门学习(10)—抽象类
- Java细节之static方法重写
- 【菜鸟学Java】10:Cookie技术
- JAVA加密解密之PBE(Password Based Encryption)算法
- 使用myeclipse打jar包
- Java Web学习总结(14)——JSP基础语法
- Java Web学习总结(14)——JSP基础语法
- Java有符号数右移注意
- Java Web学习总结(14)——JSP基础语法
- springmvc中关于cacheManager的异常
- Eclipse 调试技巧
- Sqoop源码分析(一) Eclipse调试Sqoop各种异常解决
- 聊聊 Java 中日期的几种常见操作 —— 取值、转换、加减、比较
- Java异步回调
- 实现接口时@Override注解问题
- struts返回json数据解析
- JAVA加密解密之3DES(TripleDES)
- Java内存分配、管理小结