重写,多态与封装

重写:子类可以继承父类的方法,从父类继承的方法在子类中必须加以修改以适应子类新的需要,这种对父类方法进行改造和改写的过程叫做重写(override),且用子类创建的对象调用被重写的方法时调用的是重写后的方法,如果需要调用父类被重写的 方法可以使用super关键字;

关于重写:

    1.可以用@Override判断该方法是否为重写方法

    2.重写要求子类重写的方法参数列表和方法名都与父类被重写的方法相同,参数类型指参数个数与参数类型

    3.static,final修饰的方法可以被继承,但不能被重写

    4.父类非static被重写的方法被重写后前面不能加static修饰

    5.子类重写的方法的访问控制权限不能低于父类被重写方法的访问控制权限

    6.如果父类被重写的方法的返回值类型是基本数据类型,则要求子类重写方法的返回值类型和父类相同;若父类中被重写的方法的返回值类型是引用数据类型,则要求子类重写方法的返回值类型与父类相同或是其子类


final

1.被final修饰的类不能被继承;

2.被final修饰的方法不能被重写;

3.被final修饰的变量为常量,不能二次赋值


多态的定义:父类声明的变量指向子类创建的对象,当用改变量调用父类中被子类重写的方法时,则父类中的方法表现不同的特征,这就是多态;

java应用变量有俩种类型:一种是编译时类型,一种是运行时类型,编译时类型由声明该变量时使用的类型决定,运行时类型由时机赋给该对象的变量决定,当运行时类型与编译时类型不一致时,有可能出现多态

上转型对象:子类创建的对象赋给父类声明的变量,这个过程叫做对象上转型,该对象叫上转型对象

上转型对象不能操作子类新增的方法和属性

上转型对象调用被重写时的方法时,调用的是被重写后的方法,要是没有被重写,调用的是父类中的方法

上转型对象调用成员变量,无论是否被覆盖,调用的都是父类中的变量

可以将上转型对象强制转换为创建该对象的子类类型的对象,这个过程叫下转型,下转型后该对象可以调用子类新增的方法和属性

不可以将父类类型的对象强制付给子类类型的对象


封装:封装是java的三大特征之一,表示用公有方法操作类中的私有属性用以保证数据的安全性

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

重写,多态与封装

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭