内部类的学习

内部类

概念

分类:成员内部类和局部内部类

1,成员内部类

定义格式:修饰符 class 类名称 {

//...

} //...

}

注意:内用外,随意访问;外用内,需要内部对象

使用内部类的方法

1,间接方式:在外使用内部类,外部类的方法中,然后main只是调用外部类的方法。

2,直接方式:公式:类名称 对象名 = new 类名称()

(外部类名称.内部类名称 对象名 = new 外部类名称().new 内部类名称;

内部类的同名变量访问

如果变量出现的重名现象,那么个格式是:外部类名称.this.外部类成员变量

2,局部内部类(包含匿名内部类)

定义在一个方法内,就是一个局部内部类,只有当前方法可以 使用

格式:

修饰符 class 外部类名称{

外部类方法名 返回值类型(参数列表) {

class 局部内部名称{

//....

} } }

小节:

权限修饰符:public > protect > (default) > private

定义一个类的时候,权限修饰符的规则:

1,外部类: public default

2,成员内部类:public protect (default) private

3,局部内部类:什么都不能写****

局部内部类的final

局部内部类,要访问所在方法的局部变量,那么这个局部 变量必须是(有效final)。从java8开始事实不变,final关键字可以省略。(内存中保存时间长短的缘故)

匿名内部类

接口实现类(或者父类的子类)只需使用唯一一次,可以省略掉该类定义,用 匿名内部类 格式:接口名称 对象名 = new 接口名称() { 覆盖重写所有抽象方法 }

使用匿名内部类注意事项:

1,匿名内部类,在创建的对象的时候,只能使用唯一 一次。

2,匿名对象,在(调用方法)的时候,只能调用唯一 一次。

3,匿名内部类是省略了【实现类/子类名称】,但是匿名对象时省略了【对象名称】,不一样

使用类作为成员变量

类作为成员变量时,对它进行赋值的操作,实际上,是赋给它该类的一个对象。

接口作为成员变量

接口作为成员变量时,对它进行赋值的操作,实际上,是赋给它该接口的一个子类对象。

jshell小工具

脚本,小工具

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值