继承,权限修饰符,final关键字,this,super

封装: 隐藏实现细节,仅对外暴露公共的访问方式

继承: 类与类之间产生关系(子父类关系), 子类就可以直接使用父类中非私有的成员。

例如:定义printArray () -- 方法的编写者, 对代码功能进行了封装

  • 简单理解:我们作为使用者, 不需要关注内部的实现, 只需要关心如何使用即可

实现继承格式

public class Zi extends Fu{}
Zi : 子类(派生类)
Fu: 父类(基类, 超类)

继承的使用场景:

分析需求的时候,发现多个类中存在共性的内容(相同),并且还产生了一种 is...a 的关系,就可以 考虑使用继承来优化代码

  • 优点:

    • 提高了代码的复用性

    • 提高了代码的维护性

    • (让类与类之间产生了关系,是多态的前提)

  • 缺点:

    • 代码的耦合性增强了,类与类之间的关系过于紧密

02- 继承中成员的访问特点 - 成员变量

① 如果父类中出现了重名的成员方法,在使用时会根据就近原则,优先使用子类的成员变量。 如果,非要使用父类中的成员方法,可以使用super 关键字类进行区分。

class Fu {   
    int num = 10;}​
class Zi extends Fu {    
    int num = 20;        
    public void method(){     
        int num = 30;           
        System.out.println(num);  //30
        System.out.println(super.num); // 10    
        System.out.println(this.num);  // 20
    }
    }

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

① 子类继承父类之后,可以继续编写自己的普通方法。

当出现子类中的方法与父类的方法重名时,会先调用子类中大方法,不是就近原则, 是子类重写了父类中的方法。

04 - 方法重写 override

① 定义: 在继承关系中子类中出现了和父类中,方法声明一模一样的方法,就是子类对父类方法的重写。

② 重写的原因是,在子类中需要父类的逻辑,但不想完全继承,而是做一些修改,就可以重写。

③ 注意事项:

父类中private 修饰的方法子类不能重写

子类重写父类的方法时,访问权限需要大于等于父类,最好一致。

权限修饰符:

  • private:同一个类中

  • 默认的:同一个类中,同一个包中

  • protected:同一个类中,同一个包中,不同包下子类当中

  • public:任意位置

05- Java 中继承的特点

①Java 只支持单继承,不支持多继承,但是可以多层继承

06- 继承中成员的访问特点(构造方法)

① 构造方法不能被继承,子类需要自己编写构造方法

原因是,构造方法定义格式

public 类名{} 如果继承的话,类名就没有办法保持一致了。

② 子类只要有方法就能完成父类的初始化,子类在初始化的过程之前,需要先完成父类的初始化。 子类的构造方法中都默认存在super()在访问父类的空参构造方法。

07- this 和super

  • this : 调用本类成员

    • this.本类成员变量

    • this.本类成员方法();

    • this(); 调用本类构造方法

  • super : 调用父类成员

    • super.父类成员变量

    • super.父类成员方法()

    • super(); 调用父类构造方法

注意: this 和super 都必须放在构造方法的第一行位置,两者不能共存

08- final 关键字

① final 表示最终的意思,可以修饰(方法,类,变量)

方法: 不能被重写

类: 不能被继承,但可以有自己的父类

变量: 就变成了常量只能被赋值一次

命名规范:

所有字母大写

eg: MAX MAX_VALUE

基本数据类型: 其数据值不能改变

引用数据类型: 地址值不能改变

成员变量:

赋值时机: 1. 在定义的时候直接赋值(推荐)

2. 在构造方法运行结束之前,完成赋值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值