java的封装与继承

文章探讨了Java编程中的成员变量和局部变量的区别,强调了封装的概念,以及如何通过访问权限控制数据。同时,解释了继承机制,包括子类继承父类的实例变量和方法,以及Java的单继承特性。文章还详细阐述了方法重写的原则,并提到了@Override注解的作用,以及super关键字在调用父类成员时的应用。
摘要由CSDN通过智能技术生成

成员变量与局部变量的区别:

 

封装:使用不同的访问权限,将类的成员变量访问权限设置为私有(隐藏某些信息,不可直接进行访问)

 设置加入private将构造方法私有化

继承:当类之间有许多属性和方法相同时,直接继承大类即可(类似于static)

方法:

[修饰符] class 类B extends 类A{…}

B为子类/派生类,A为父类/基类

使类和类之间产生is -a的关系

子类会继承父类所有的实例变量和实例方法

子类不能直接访问父类private的变量和方法

Java支持多层继承

Java只支持单继承,不支持多重继承(猫只能继承一个动物类,不能再继承生物类)

java.lang.Object是类层次结构的跟类,即所有类的父类,当没有显示继承其他类时,默认继承Object类

方法重写

当父类某个方法不是十分符合子类所需时,可以对此方法用相同的名字在子类中重新写一遍,在调用时会调用子类中的此方法,子类方法会覆盖父类方法

注意:构造方法和静态方法不能重写,成员变量不存在重写

方法重写规则:

1.子类重写方法必须和父类中被重写方法名称,参数列表相同

2.返回值一致

3.子类方法访问权限不能小于父类(父类私有方法不能重写,跨包的父类默认权限的方法也不能重写)

编译时不能确定具体的调用方法,而在程序运行时,才能确定具体的被调用的方法

默认权限:包内部访问权限。即包内其他类可以访问该类,但是该类在包外部的其他类不能访问

区分重载:一个类的多态性表现,而方法重写是子类与父类的一种多态性表现

 

@Override使用说明:
@Override是java中的注解标签,用来标记,写在方法上,表示此方法是从父类中重写而来,用来检测是不是满足重写方法的要求,这个注解就算不写,只要格式满足要求,也是正确的方法覆盖重写。建议保留,这样编译器可以帮助我们检查格式,另外也可以让阅读源代码的程序员清晰的知道这是一个重写的方法。

super关键字:
super来调用父类中的指定操作:

super可以访问父类中定义的属性,成员方法,可以用于在子类构造器中调用父类的构造器

super不是父类对象,只是引用,仍属于子类对象

继承中的构造方法:

子类不会继承父类的构造方法,只能通过super(形参)来调用父类指定的构造方法

规定super(形参),必须声明在构造器的首行

无super出现时,子类默认调用super,即父类中的空参构造器

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值