【final、权限、内部类】

【final、权限、内部类、引用类型】

!!主要学会使用,理解重要

一. 自增运算符

  • 配合使用(适用于绝大部分情况)

    • ++在前: 先自增, 后运算
    • ++在后: 先运算, 后自增

正确的理解方式

  • 无论++在哪都先自增
    • ++在前, 参与运算的是++之后的值
    • ++在后, 参与运算的是++之前的值

二. final关键字

  • final: 最终
  • final可以用来修饰: 类, 方法, 变量
    • final修饰的类不能被继承
    • final修饰的方法不能被重写
    • final修饰的变量就变成了常量, 值不能更改

三. 权限修饰符

  • public, protected, 默认(什么都不写), private
publicprotected默认private
同一个类中
同一个包中×
不同包(子父类)××
不同包(无关类)×××
  • protected: 保护给子类去使用

方法的重写

  • 子父类中, 出现了一模一样的方法(子类的权限可以大于等于父类)

四. 内部类

1. 内部类

一个.java文件中可以创建多个类, 但是只能有一个是public修饰的, 并且这个public修饰类的类名一定和文件名一致.

  • 类中又创建了一个类
// 外部类
public class Person {

    // 内部类
    public class Heart {

    }
}
  • 使用特点
    • 内部类使用外部类中的成员, 可以直接使用.
    • 外部类使用内部类中的成员, 需要先创建对象.
  • 其他类使用内部类中的成员, 需要先创建对象
外部类名.内部类名 对象名 = new 外部类名().new 内部类名();

2. 匿名内部类(重点, 难点)

  • 前提: 存在一个类或者接口

  • 格式:

    new 类名() {}
    new 接口名() {} 
    
  • 本质:

    • 代表了继承了该类的子类对象
    • 代表了实现了该接口的实现类对象

总结

  • 当方法的参数列表是类, 接口, 那么实际传入的是它们的子类对象 -> 匿名内部类(代表类|接口的子类对象)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值