封装与继承

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

 成员变量:

          1、成员变量定义在类中,在整个类中都可以被访问。

          2、成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。

          3、成员变量有默认初始化值。

      局部变量:

          1、局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。

          2、局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。

          3、局部变量没有默认初始化值 

      在使用变量时需要遵循的原则为:就近原则

      首先在局部范围找,有就使用;接着在成员位置找。

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

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

方法:

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

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

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

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

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

Java支持多层继承

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

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

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

注意:构造方法和静态方法不能重写,成员变量不存在重写
方法重写规则:
1.子类重写方法必须和父类中被重写方法名称,参数列表相同

2.返回值一致

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

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

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

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

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

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

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

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

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值