Java面向对象编程笔记1

  • protected 关键字
    对于类的调用者来说, protected 修饰的字段和方法是不能访问的
    对于类的 子类 和 同一个包的其他类 来说,
    protected 修饰的字段和方法是可以访问的

  • Java 中对于字段和方法共有四种访问权限
    1、private: 类内部能访问, 类外部不能访问
    2、默认(也叫包访问权限): 类内部能访问, 同一个包中的类可以访问, 其他类不能访问.
    3、protected: 类内部能访问, 子类和同一个包中的类可以访问, 其他类不能访问.
    4、public : 类内部和类的调用者都能访问

  • final关键字
    final 关键字也能修饰类, 此时表示被修饰的类就不能被继承
    平时用的String类字符串类就是用final修饰的,不能被继承。


重写重载区别


普通方法可以重写, static 修饰的静态方法不能重写.
重写中子类的方法的访问权限不能低于父类的方法访问权限.
重写的方法返回值类型不一定和父类的方法相同(但是建议最好写成相同, 特殊情况除外).
重载与重写区别
1、概念重载:方法名称相同,参数的类型个数不同
重写:方法名称返回值类型、参数的类型及个数完全相同。
2、范围 重载:一个类
重写:继承关系
3、限制 重载无
重写:被覆写的方法不能拥有比父类更严格的访问控制权限


多态好处


使用多态的好处是什么?

  1. 类调用者对类的使用成本进一步降低.
    封装是让类的调用者不需要知道类的实现细节.
    多态能让类的调用者连这个类的类型是什么都不必知道, 只需要知道这个对象具有某个方法即可。

this与super区别

1、概念this:访问本类中的属性和方法
super:由子类访问父类中的属性和方法
2、查找范围:this:先查找本类,如果本类没有就调用父类。
super:不查找本类而直接调用父类
3、特殊this表示当前对象,super无。


抽象类


注意事项

  1. 抽象类不能直接实例化
  2. 抽象方法不能是 private 的
  3. 抽象类中可以包含其他的非抽象方法, 也可以包含字段. 这个非抽象方法和普通方法的规则都是一样的, 可以被重写,也可以被子类直接调用
    抽象类本身不能被实例化, 要想使用, 只能创建该抽象类的子类. 然后让子类重写抽象类中的抽象方法.
    之所以要有抽象类存在, 是因为有些实际工作不应该由父类完成, 而应由子类完成. 那么此时如果不小心误用成父类了,使用普通类编译器是不会报错的. 但是父类是抽象类就会在实例化的时候提示错误, 让我们尽早发现问题.

接口

接口是抽象类的更进一步. 抽象类中还可以包含非抽象方法和字段.,而接口中包含的方法都是抽象方法, 字段只能包含静态常量.继承接口. 此时表达的含义不再是 “扩展”, 而是 “实现”。在调用的时候同样可以创建一个接口的引用, 对应到一个子类的实例
接口不能被单独实例化
扩展(extends)与实现(implements)
扩展指的是当前已经有一定的功能了, 进一步扩充功能.
实现指的是当前啥都没有, 需要从头构造出来.

接口的一些细节

  1. 我们创建接口的时候, 接口的命名一般以大写字母 I 开头.
  2. 接口的命名一般使用 “形容词” 词性的单词.
  3. 阿里编码规范中约定, 接口中的方法和属性不要加任何修饰符号,保持代码的简洁性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值