您的位置:首页 > 运维架构

面向对象篇(OOP)--02 继承、访问控制修饰符

2018-02-24 10:59 204 查看
1.什么是继承关系
    


2.extends关键字
    extends关键字可以实现类的继承。子类可以继承父类的成员变量及成员方法。同时也可以定义自己的成员变量和方法。

    Java语言不支持多重继承,一个类只能继承一个父类。但一个父类可以有多个子类。class Circle extends Shape{
int r;
public void setR(int r){
this.r=r;
}
}3.向上造型
    一个子类的对象可以向上造型为父类的类型。 父类型定义的引用变量可以引用子类型实例。
    Java编译器根据类型检查调用方法是否匹配。

    


4.继承中的构造方法
    子类的构造方法中必须通过super关键字调用父类的构造方法,这样可以妥善的初始化继承自父类的成员变量。

    如果子类的构造方法中没有调用父类的构造方法,Java编译器会自动的加入对父类无参构造方法的调用(如果该父类没有无参的构造方法,会有编译错误)。

    


5.instanceof关键字
    对于一个父类的引用类型, 可以指向该类的对象也可以指向其任意一个子类的对象。

    可以通过instanceof关键字判断其指向对象的实际类型。

    


6.方法的重写(Overwrite)
    子类可以重写继承自父类的方法即方法名和参数列表与父类的方法
4000
相同;但方法的实现不同。当子类对象的重写方法被调用时(无论是通过子类的引用调用还是通过父类的引用调用),运行的是子类的重写后的版本。。

    在子类重写的方法中,可以通过super关键字调用父类的“原始”方法。

7.重写和重载的区别
    重载:在一个类中,方法名相同,参数列表不同。

    重写:在两个类中,并且是子类和父类的关系,签名相同。

    重载:编译时,-------.java到.class的过程   (内存没东西,只看语法对不对)

    重写:运行时,--------jvm加载.class并运行.class的过程(内存才有东西)

    重载时看类型,重写时看对象。

8.访问控制---public和private
    private修饰的成员变量和方法仅仅只能在本类中调用;而public修饰的成员变量和方法可以在任何地方调用。public修饰的内容是对外提供可以被调用的功能,需要相对稳定;private修饰的内容是对实现的封装,如果“公开”会增加维护的成本。

9.package语句
    定义类时需要指定类的名称。但如果仅仅将类名作为类的唯一标识,则不可避免的出现类名冲突的问题。这会给组件复用以及团队间的合作造成很大的麻烦!在java语言中,用包(package)的概念来解决命名冲突的问题。

10.protected和默认访问控制
    用protected修饰的成员变量和方法可以被子类及同一个包中的类使用。

    默认访问控制即不书写任何访问控制符。默认访问控制的成员变量和方法可以被同一个包中的类调用。

11.访问控制修饰符的对比
    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: