Java基础知识总结梳理(二)

Java基础知识总结梳理(二)

Java基础知识重点知识梳理第二篇,所梳理内容是为个人理解整理,方便学习之用,分享给大家一起学习,欢迎评论区交流讨论;Java基础整体框架图见Java基础知识总结梳理(一)

  1. 内部类
    内部类顾名思义,创建在类的内部的类,本质仍是一个类;
    内部类的分类:局部内部类、匿名内部类、成员内部类、静态内部类;
  • 局部内部类:
    定义在方法内部,相当于局部变量,不能使用public 、protected、private以及static修饰符。但是可以使用final修饰符;
  • 匿名内部类:
    顾名思义,匿名内部类没有类名😀;
    本质是一个类,不能有访问修饰符和static修饰符;
    匿名内部类是唯一一种没有构造器的类
    一般使用匿名内部类的方法来编写事件监听代码;
    使用场景:类只使用一次,后面不再使用(匿名内部类用户简化开发);
  • 成员内部类:
    类比成员方法,成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员);
    在外部类中如果要访问成员内部类的成员,必须先创建一个成员内部类的对象,在通过指向这个对象的引用来访问;
    要创建成员内部类的对象,前提是必须存在一个外部类的对象;
    内部类可以拥有private访问权限、protected访问权限、public访问权限及包访问权限;
    成员内部类中不能存在任何static的变量和方法,可以定义常量;
  • 静态内部类:
    静态内部类是static修饰内部类,静态内部类是不需要依赖于外部类的,这点和类的静态成员属性有点类似,并且它不能使用外部类的非static成员变量或方法;
    内部类整理的重点知识框架图如下:
    内部类重点知识框架图
  • 内部类的优点与特性
    1. 能够非常好的解决多重继承的问题
    2. 内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独立
    3. 在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类
    4. 创建内部类对象的时刻并不依赖于外围对象的创建
    5. 内部类并没有令人迷惑的“is-a”关系,他就是一个独立的实体
    6. 内部类提供了更好的封装,除了改外围类,其他类都不能访问
  1. 抽象类
    我们把没有方法主体的方法称为抽象方法。Java语法规定,包含抽象方法 的类就是抽象类。

    总的来说就是:
    抽象方法:没有方法体的方法
    抽象类:包含抽象方法的类

  • 抽象类注意点:
    • 抽象类不能实例化
    • 抽象类不一定要包含abstract方法
    • 一旦包含了abstract方法,则这个类必须声明为abstract
    • abstract只能修饰类和方法,不能修饰属性和其他的
    • 抽象类可以有任意成员【抽象类本质还是类】,比如非抽象方法、构造器、静态属性等等
    • 抽象方法不能有主体,即不能实现
    • 如果一个类继承了抽象类,则它必须实现抽象类的所有抽象方法,除非它自己也声明为abstract类
    • 抽象方法不能使用priavte、final和static来修饰,因为这些关键字和重写是相违背的
  1. 接口
    接口声明了一组能力,但它自己并没有实现这个能力,它只是一个约定
    接口的格式定义如下:
    public interface 接口名{
         代码块;
         }
    
  • 接口使用注意事项:

接口使用注意事项
参考资料:
【1】https://www.bilibili.com/video/BV1fh411y7R8?spm_id_from=333.337.search-card.all.click&vd_source=dd9bdf6f42e38406b07ef92b986e8171

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值