diff --git a/stubgenj/_stubgenj.py b/stubgenj/_stubgenj.py
index 9428a5ccb6f65741c45b2bee148bb954dbd8ab9f..fa2e80f0a2f91961aa7c8c180fe21014a4d33e52 100644
--- a/stubgenj/_stubgenj.py
+++ b/stubgenj/_stubgenj.py
@@ -35,6 +35,7 @@ from typing import List, Optional, Any, Set, Type, Union, Generator
 
 import jpype
 from jpype._pykeywords import pysafe  # noqa : jpype does not expose a public API for the Java name mangling it applies
+from jpype._jclass import _jclassDoc as generate_class_javadoc # noqa : jpype does not expose a public API to getting Javadoc
 
 import logging
 
@@ -1005,10 +1006,16 @@ def generateJavaClassStub(package: jpype.JPackage,
         output.append('')
         output += typeVarOutput
 
+    javadocOutput = ['    ' + javadocLine for javadocLine in generate_class_javadoc(jClass).split('\n')]
+    if javadocOutput:
+        javadocOutput = ['    """'] + javadocOutput + ['    """']
+
     if not constructorsOutput and not methodsOutput and not fieldsOutput and not nestedClassesOutput:
         output.append(f'class {className}{superTypeStr}: ...')
+        # a docstring is not allowed here ...
     else:
         output.append(f'class {className}{superTypeStr}:')
+        output.extend(javadocOutput)
         for line in fieldsOutput:
             output.append(f'    {line}')
         for line in constructorsOutput: