关于面向对象里的子类继承问题

原创 2012年03月29日 14:43:33

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------


/*面向对象的两大基本特征“继承”和“多态”使它区别于“基于对象”。

   实际上,“继承”是“多态”的基础,“多态”是“继承”的一种重要表现,两者密不可分。
   方法的名称和参数表只是方法的一个声明,打比方来说就相当于对象的一个引用,引用的内容便是放在由方括号括起的代码块;
在abstract类和接口(Interface)里,可以将方法的声明和实现分隔开。即使没有将方法的声明和实现分隔开,在编译的时候,编译器需要的也只是方法的声明,其具体实现只有在运行时才会被关心。因为在java中,所有方法绑定都为“运行时绑定”,除非一个方法被明确声明成final。

    子类通过定义一个和父类的某个方法拥有同样名称和参数表的方法来达到“覆盖”的目的。但是要记住的是,在子类内部能够访问到那个父类方法是覆盖该父类方法的一个必要前提!如果在子类内部看不到那个父类方法,即使定义了和父类的某个方法拥有同样名称和参数表的方法,实质上也没有达到“覆盖的真正目的”。

*/


覆盖和重载的区别:
public class Base{
    public void method(){
    }
}

public class Sub extends Base

{
    public void method(){ } 
//覆盖Base类的method方法
    public int method(int a){ }
//重载Sub类的method方法

}




/*

1.子类方法不能缩小父类方法的访问权限(可以扩大),而且子类不能抛出比父类方法更多的异常,其必须抛出和父类方法抛出的相同的异常,或者子类方法抛出的异常类是父类方法抛出的异常类的子类。
2..父类的静态方法不能被子类覆盖为非静态方法。同样,父类的非静态方法不能被子类覆盖为静态方法。
3..子类可以定义与父类的静态方法同名的静态方法,以便在父类中隐藏父类的静态方法。子类覆盖静态方法和覆盖一般方法的区别是,运行时,JVM把静态方法和所属类绑定,而将一般方法和所属实例绑定。
4..父类的私有方法不能被子类覆盖。虽然不会出现编译错误,但是实际上子类并没有从父类继承这个方法,所以,其并没有覆盖关系。
5..父类的抽象方法通过子类实现父类的抽象方法或者子类重新声明父类的抽象方法来实现覆盖。
6..父类的非抽象方法可以被覆盖为抽象方法。

*/



---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

php 面向对象abstract,interface,重载,子类继承父类

面向对象的三个基本特征是:封装、继承、多态。 封装   封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 继承   面向对...

Java对象的构造过程---子类继承父类时(非)静态块及构造函数等的执行顺序

毕业已有近两年的时间啦,发现大学里刚开始学习的java基础,现在竟然忘得差不多啦,主要原因是平时开发的时候思考的少,所以,才把大学老师教的东西都还给了老师,还好,当时的课件还没丢,现在把当初学习的代码...

java中的继承-子类继承父类的权限问题

java中的继承         Java语言面向对象有三大特性:封装、继承、多态。其中的继承,描述了一种“is-a”的关系,可以理解为子集合和父集合。子类可以继承父类的方法、域、构造方法。但是,ja...

面向对象,继承,父类子类,继承中构造函数问题,对象初始化器

面向对象的三大特性:封装、继承、多态 什么水是类?什么是对象,类和对象的区别 类是模具,创建对象的模具,抽象的 类是一种数据类型,用户自定义的数据类型 类组成:字段,属性,方法,构造函数等 ...

组合还是继承,这是一个问题?——由模式谈面向对象的原则之多用组合、少用继承

转自《组合还是继承,这是一个问题?——由模式谈面向对象的原则之多用组合、少用继承》 组合还是继承,这是一个问题               &#...

【java初学笔记3】马士兵-java-面向对象-34->36-Object类的问题

注意要点: 1.Object类是所有Java类的根基类,如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类; 2.Object类中定义有public String toS...

黑马程序员-Java面向对象II(抽象类、接口、参数传递修饰符和内部类问题)

Java面向对象II(抽象类、接口及参数传递问题)

10 面向对象(形式参数和返回值的问题,包,导包,权限修饰符,常见的修饰符,内部类,匿名内部类(掌握))

面向对象(形式参数和返回值的问题,包,导包,权限修饰符,常见的修饰符,内部类,匿名内部类(掌握))

【JavaSE学习笔记】面向对象_接口、形式参数问题、内部类

面向对象 A.接口 1)概述 动物类中的具体动物:猫和狗,有时候会具有额外的动作(跳高,计算等) 这些动作不能定义到具体类中,所以java针对这种情况,提供了一个关键字 interf...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)