JAVA学习Day15-面向对象进阶(内部类)

一、什么是内部类

类的五大成员:属性、方法、构造方法、代码块、内部类

内部类:在一个类里面再定义一个类。举例:再A类的内部定义B类,B类就称为内部类。 

内部类表示的事物是外部类大的一部分,内部类单独出现没有任何意义。

public class Car{  //外部类
    String carName;
    int carAge;
    int carColor;
    
    class Engine{  //内部类
        String engineName;
        int engineAge;
    }
}

内部类的访问特点

  • 内部类可以直接访问外部类的成员,包括私有
  • 外部类要访问内部类的成员,必须创建对象。

二、内部类的分类

成员内部类、静态内部类、局部内部类、匿名内部类(重要)

1、实例内部类

①在实例内部类中,不能定义一个静态的成员变量!非要定义就只能定义一个静态常量

②如何实例化实例内部类的对象

OuterClass.InnerClass innerClass = outerClass. new InnerClass();
//外部类名.内部类名 变量 = 外部类对象的引用.new 内部类();

③实例内部类中,如果包含了和外部类同名的成员变量,那么如何在实例内部类当中访问

System.out.println(OuterClass.this.data1);
System.out.println(this.data1);

 实例内部类中,包含两个this,一个是外部类的this,一个是自己的this

2、静态内部类

①   

1、匿名内部类

匿名内部类本质上就是隐藏了名字的内部类。可以写在成员位置,也可以写在局部位置。格式如下

new 类名或者接口名(){
    重写方法;
};

使用场景:当方法的参数是接口或者类时,以接口为例,可以传递这个接口的实现类对象,如果实现类只要使用一次,就可以用匿名内部类简化代码。

三、事件

事件是可以被组件识别的操作。当你对组件干了某件事情之后,就会执行相应的代码

事件包括

  • 事件源:按钮,图片,窗体....
  • 事件:某些操作,例如鼠标单击,鼠标划入....
  • 绑定监听:当事件源上发生了某个事件,则执行某段代码

键盘监听

KeyListener
鼠标监听MouseListener
动作监听ActionListener

四、正则表达式

正则表达式可以校验字符串是否满足一定的规则,并用来校验数据格式的合法性。

作用:①校验字符串是否满足规则;②在一段文本中查找满足要求的内容

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值