b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

覆盖和重写的区别_java方法重载_方法重载 覆盖

电脑杂谈  发布时间:2017-02-23 08:55:16  来源:网络整理

备注:在不同包时继承public/protected级别的变量和方法。方法重载 覆盖

方法继承的作用可以提高代码的重用性和安全性

3.Java中的不同包中的访问权限

1,public 2,protected 3,(default) 4,private

1任何类都可以访问

2在同一个包中的所有类可以访问,以及该类的子类

3同一个包中的所有类

4只能在本类中访问

3、方法覆盖(methodoverride):如果在子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法。方法重载 覆盖

子类的方法名称返回类型及参数签名 必须与父类的一致

子类方法不能缩小父类方法的访问权限

子类方法不能抛出比父类方法更多的异常

方法覆盖只存在于子类和父类之间,同一个类中只能重载

父类的静态方法不能被子类覆盖为非静态方法

子类可以定义于父类的静态方法同名的静态方法,以便在子类中隐藏父类的静态方法(满足覆盖约束),

而且Java虚拟机把静态方法和所属的类绑定,而把实例方法和所属的实例绑定。

父类的非静态方法不能被子类覆盖为静态方法

父类的私有方法不能被子类覆盖

父类的抽象方法可以被子类通过两种途径覆盖(即实现和覆盖)

父类的非抽象方法可以被覆盖为抽象方法

对于一个引用类型的变量,Java编译器按照它的声明的类型来处理

对于一个引用类型的变量,运行时Java虚拟机按照它的实际引用的对象来处理

运行时环境中,通过引用类型变量来访问所引用对象的方法和属性时,Java虚拟机采用以下绑定规则

上转型对象具有如下特点:

1)上转型对象不能操作子类新增的成员变量(失掉了这部分属性),不能使用子类新增的方法(失掉了一些功能).

2)上转型对象可以操作子类继承或隐藏的成员变量,也可以使用子类继承的或重写的方法.

3)上转型对象操作子类继承或重写的方法时,就时通知对应的子类对象去调用这些方法.因此,如类重写了父类的某个方法后,对象的上转型对象调用这个方法时,一定是调用了这个重写的方法.

4)可以讲对象的上转型对象再强制转换到一个子类的对象,这时,该子类对象又具备了子类的所有属性和功能.(也就是下溯)

作用:多态有编译时多态 和运行时多态。

第一个是通过方法重载实现;第二个是通过方法覆盖实现(子类覆盖父类方法)。

第一种就是我们调用方法是不用区分参数类型,程序会自动执行相应方法,如: 加法运算,可以使int相加,可以是double相加,都是同一个方法名。

第二种就是动态绑定,使用父类引用指向子类对象,再调用某一父类中的方法时,不同子类会表现出不同结果。 这样的作用就是扩展性极好,玩过网游的话应该知道 游戏中有不同的角色,它们都有一个父类,它们做相同动作时表现出来的效果就会不一样,比如跑,魔法师的跑跟战士的跑就不会一样,这就是俩者都覆盖了父类中的跑方法,各自有自己的现实,表现出来多态。 如果有一天你想再加个角色,只用再写一个类继承该父类,覆盖其中的跑方法就行了,其他代码不用怎么改,所以可维护性也很好。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-34006-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 郑阳阳
        郑阳阳

        啊啊啊啊啊啊啊啊啊啊啊啊

      • 吕艳菲
        吕艳菲

        他们爱怎么折腾就怎么折腾吧

      • 选人
        选人

        这样的人也能被称为教授

      热点图片
      拼命载入中...