封装、继承、final和static关键字的使用

学习目标:

提示:封装、继承和相关联关键字的使用


学习内容:

1、 封装
2、 继承
3、 super关键字
4、方法的重写
5、 final和static关键字


1、封装

封装的定义:

将类的某些信息隐藏在类的内部,让外部程序不能直接访问,而是通过访问该类提供的方法对类中隐藏的内容进行操作和访问。

封装的意义:

把尽可能多的东西藏起来,并且对外提供便捷的接口:属性私有化、方法公开化。

封装的原则:

把属性隐藏起来,把逻辑上可以公开的方法进行公开。

2、继承

继承的定义:

发生在类与类之间,被继承的类被称为父类,继承类的类称为子类。

继承的注意事项:

1、一个类只能有一个父类,但是一个父类可以有多个子类。
2、父类的无参构造方法会被子类隐式调用,具体的原因在后面super关键字里面会写,同时子类调用父类无参构造方法的层级不限,一直调用到根类为止。

继承的好处:

提高了代码的复用性(多个类相同的成员可以放到同一个类中);
提高了代码的可维护性(如果方法的代码需要修改,修改一处即可)

继承的弊端:

类与类之间产生了关系,耦合性增强了,当父类发生改变的时候子类也不得不改变,大大降低了子类的独立性。

继承中变量的访问特点:

程序先访问方法内部的局部变量,如果没有则去该类中的成员变量中去找,如果成员变量中也没有的话则去父类的成员变量中去寻找。

3、super关键字

在这里插入图片描述

定义:

super代表父类存储空间的标识的引用,但是super关键字不能调用父类的私有方法和属性。

继承中构造方法的访问特点:

子类中的所有的构造方法默认都会访问父类中无参的构造方法。原因是:
①子类会继承父类中的数据,可能还会使用父类中的数据。所以子类初始化之前,一定要完成父类数据的初始化。
②每一个子类构造方法的第一条默认语句都是:super();
如果父类中没有无参构造方法,只有带参构造方法:
①通过使用super关键字去显示的调用父类的带参构造方法
②在父类中自己提供一个无参构造方法
建议用第二种

Public class zi extend fu{
Private String love;
Public zi(){

 }
 Public zi(String name,int age,String love){
 Super(name,age);
 This.love=love; 
 } 
 }

继承中成员方法的访问特点:

通过子类对象访问一个方法,先从子类成员范围内寻找,没有的话去父类成员范围找,如果没有就报错

Public class zi extend fu{ 
Public class show(){
Super.show();
Sout();
}
}

4、方法的重写

概述:

子类中出现了和父类一模一样的方法的声明。

重写的应用:

当子类需要父类的功能,而功能主题子类又有自己特定的内容时,可以重写父类中的方法,这样既沿袭了父亲的功能,又定义了子类特有的内容。

方法重写的注意事项:

私有方法不能被重写(父类私有成员子类是不能继承的)
子类方法访问权限不能更低(public>默认>私有)

5、final关键字和static关键字

final修饰局部变量:

Final修饰基本类型变量时final修饰的变量的数据值不能变。
Final修饰引用类型变量时final修饰的变量的数据值可以变,但是地址值是不能发生改变的。

Final student s=new student();
s.age=10;

因为在这里final修饰的是引用的地址值s,但是地址里面的变量的值是可以变的

Final修饰方法:

如果一个类不允许其子类覆盖某个方法(即不允许被子类重写),则可以把这个方法声明为final方法。

Final修饰类:

final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为final类。

Static关键字:

是静态的意思,可以修饰成员方法,成员变量。

Static修饰的特点:

被类的所有对象共享,这也是我们判断是否使用静态关键字的条件。

Static访问特点:

非静态的成员方法可以访问静态的成员变量、非静态的成员变量、静态的成员方法、非静态的成员方法。
静态的成员方法只能访问静态的成员方法和静态的成员变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十碗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值