首先,这是我牛客的第一篇博客,之后我将通过写blog的方式来复习Java。
这边也先说一下我自己的个人情况,目前是大四在校学生,软件工程专业。自己也是有在看一些视频自学的Java,突然发现前面好多的知识点都忘记了,所以决定花一些时间来复习并且写成blog的形式。写的东西可能也是非常基础的东西,但是我想通过这种方式来提升自己,也能养成好的习惯,并且也能看见自己成长的过程,让成长变得“实例化”哈哈哈。
由于某些我从内部类开始吧
内部类可以分为:1.成员内部类 2. 局部内部类(包含匿名内部类)

成员内部类

如果一个事物的内部包含另一个事物,那么这就是一个类内部包含另一个类。

如果要说成员内部类的具体事例的话,可以这样举例:身体和心脏的关系,汽车和发动机的关系,是属于包含。
###成员内部类的定义格式:
修饰符 class 外部类名称{
修饰符 class 内部类名称{
//代码..
}
//代码..
}
* 不过需要注意的是:内用外,随意访问;外用内,需要内部类对象。
2. 成员内部类的使用:
1. 间接方式:在外部类的方法当中,使用内部类,main只是调用外部类的方法
2. 直接方式:外部类名称.内部类名称 对象名=new 外部类名称().new 内部类名称;
3.内部类的同名变量访问
如果出现了重名现象,那么格式是:外部类名称.this.外部类成员变量

      public class Outer{
    int num =10;//外部类的成员变量
    public class Inner{
        int num=20;//内部类的成员变量
        public void methodInner(){
            int num=30;//内部类方法的局部变量
            System.out.println(num);//局部变量:30->就近原则
            System.out.println(this.num);//内部类的成员变量:20
            System.out.println(Outer.this.num);//外部类的成员变量:10
        }
    }
}

局部内部类的定义和使用
1.定义格式:
修饰符 class 外部类名称{
修饰符 返回值类型 外部类方法名称(参数列表){
class 局部内部类名称{
//代码...
}
}

注意事项:public > protected > default(不写默认) > private
定义一个类的时候,权限修饰符规则
1.外部类:public / default
2.. 成员内部类:public > protected > default(不写默认) > private
3. 局部内部类:什么都不写
*
匿名内部类**:如果接口的实现类(或者是父类的子类)只需要使用唯一的一次。

  1. 定义格式: 接口名称 对象名 =new 接口名称(){
    //覆盖重写所有的抽象方法