Java 基础问题有关接口,类之间问题

Java中哪些类是不能被JDK动态代理的?哪些类是不能去实现接口?

jdk代理只能代理接口,不能代理类。除了抽象类不能实现接口,其它都可以。望采纳

一楼的回答我不认同,我总结一下:
Java中不能被JDK动态代理的类:

  1. 没有实现任何接口的类,因为 JDK 动态代理只能代理实现了接口的类。
  2. 用 final 关键字修饰的类,因为不能再次继承或代理。
  3. 一些特殊的系统类,例如 java.lang.Classjava.lang.Object,不能被动态代理。

对于类是否能实现接口,只要类符合实现接口的语法规则,就可以实现接口。
包括抽象类!

JDK动态代理不能代理final类和包含final方法的类。

final类不能去实现接口,因为final类不能被继承,而接口需要被实现,也就无法实现。

  • 这篇博客: Java基础总结中的 接口是什么?为什么要使用接口而不是直接使用具体类? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 接口用于定义 API。它定义了类必须得遵循的规则。同时,它提供了一种抽象,因为客户端只使用接口,这样可以有多重实现,如 List 接口,你可以使用可随机访问的 ArrayList,也可以使用方便插入和删除的 LinkedList。接口中不允许写代码,以此来保证抽象,但是 Java 8 中你可以在接口声明静态的默认方法,这种方法是具体的。