JAVA中的三大特性

1 封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
好处:
A:提高了代码的复用性
B:提高安全性。
封装加入private后的标准代码:
A:把成员变量private修饰
B:针对每一个成员变量给出
getXxx()和setXxx()(注意首字母大写)
注意:这里的xxx其实是成员变量名称。
2 继承:通过extends关键字可以实现类与类的继承
格式:
class 子类名 extends 父类名 {

        } 
        父类:基类,超类
        子类:派生类
**2.1继承的好处:**
    A:提高了代码的复用性
        多个类相同的成员可以放到同一个类中
    B:提高了代码的维护性
        如果功能的代码需要修改,修改一处即可
    C:让类与类之间产生了关系,是多态的前提
**2.2方法重写**(子类的方法名,参数和父类完全一样,将父类方法覆盖):
1.必须存在继承关系
2.父类的方法满足不了你的需求,此时你就需要重写父类的方法,实现自己想要实现的功能

2.3继承的特点
A:Java只支持单继承,不支持多继承。
B:Java支持多层(重)继承(继承体系)。
2.4类的组成:
成员变量
构造方法
成员方法
2.5继承间的成员变量关系:
A:名字不同,非常简单。
B:名字相同
首先在子类局部范围找
然后在子类成员范围找
最后在父类成员范围找(肯定不能访问到父类局部范围)
如果还是没有就报错。(不考虑父亲的父亲…)
就近原则。
2.6继承间的成员方法关系:
A:方法名不同,非常简单
B:方法名相同
首先在子类中找
然后在父类中找
如果还是没有就报错。
2.7继承间构造方法的关系:
子类中所有的构造方法默认都会访问父类中空参数的构造方法(super())
因为子类会继承父类中的数据,可能还会使用父类的数据。
所以,子类初始化之前,一定要先完成父类数据的初始化。
每个子类的构造方法的第一行,有一条默认的语句:
super();
注意仅仅是完成数据的初始化,创建对象目前必须用new申请空间。
怎么去访问父亲的成员呢?
java就提供了一个关键字:super
super代表父类存储空间的标识(可以理解为父类对象)
this和super的使用区别?
A:成员变量
this.成员变量 本类的成员变量
super.成员变量 父类的成员变量
B:成员方法
this.成员方法() 本类的成员方法
super.成员方法()父类的成员方法
假如父类没有无参构造方法
A:调用父类的其他构造方法。带参构造。
super(…)
*注意:
super(…)或者this(….)必须出现在第一条语句上。
因为如果可以放后面的话,就会对父类的数据进程多次初始化。所以,只能放在第一条语句上。*
建议:
永远给出无参构造方法。
3 多态:同一个对象,在不同时刻表现出来的不同状态。
3.1多态的前提:
A:有继承关系
B:有方法重写(不是必要条件,但是只有有了方法重写多态才有意义)
C:有父类引用指向子类对象;Fu f = new Zi();
3.2 成员访问特点
A:成员变量
编译看左边,运行看左边
B:构造方法
子类构造默认访问父类的无参构造
C:成员方法(重点理解)
编译看左边,运行看右边
变量和方法因为方法重写而不一样。
D:静态成员方法
编译看左边,运行看左边
因为静态的内容是和类相关的,与对象无关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值