checkClass - inspect a Java/Matlab/Python/​COM/C++/.NET class

Version 1.41 (83.3 KB) by Yair Altman
Inspect a Java/MCOS/Python/C++/.NET object or classname and display its methods, properties, events, superclasses, subclasses, constants etc
Updated 26 Apr 2024

View License

checkClass inspects the specified Java, Matlab (MCOS), .NET, Python, C++ (CLib), or COM (ActiveX) object reference or class-name, and reports its superclass(es), interfaces, new/modified methods, super/sub-classes, properties, events, constants, enumerations and annotations.
metadata = checkClass(...) returns a meta.class or meta.package object that encapsulates the input object.
This utility complements the GUI-based UIINSPECT utility by being Command-Prompt based and also by highlighting the object components that were modified in the inspected class compared to its parent superclass.
checkClass(..., level) % default level=1 % Note: changed default in v1.32!
metadata = checkClass(...)
Usage examples:
% Java objects/classes
jButton = javax.swing.JButton('Click me!');
jButton.checkClass; % or: checkClass(jButton)
% Matlab (MCOS) objects/classes/packages
checkClass matlab.ui.Figure % equivalent to above
checkClass matlab.ui.control % package name (contains classes, sub-packages)
% .NET objects/classes/packages
% Python objects/classes/modules
Technical description:
Bugs and suggestions:
Please send to Yair Altman (altmany at gmail dot com)

Cite As

Yair Altman (2024). checkClass - inspect a Java/Matlab/Python/COM/C++/.NET class (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

improved display of class property/method descriptions


fixed display of properties in abstract classes; fixed display of default empty char array value; fixed display of classes with no properties

display newlines in main description (unlike in methods/properties/events); display dynamic Python properties; strip irrelevant content from descriptive comments; fixed display of array DefaultValue; added separate display of MCOS constants

displayed methods descriptions & attributes where available; distinguished between Python package/module; minor display improvements

improved Python support; clarified display of redefined methods; removed display of missing superclass constructors; fixed some cases of enumerated values; improved display of MCOS property meta-data and enumeration values

minor fixes to multi-line method/property descriptions (where available); ignored description changes when comparing class to superclass; merged GetAccess+SetAccess modifiers where possible; de-hyperlinked i.e.,e.g.

Fixed code origin of packages that have no classes; improved display of function/method args in certain cases; fixed properties PartialMatchPriority display; added underlying MCOS enum values; fixed case of duplicate methods

added package-level function info; added enumeration underlying values; added MS doc link & assembly info for .NET clases; hyperlinked code origin; return class metadata; several small fixes

*** MAJOR UPDATE *** - added MCOS package & origin info; added javadoc link for Java classes; many fixes to superclasses, methods, description, hyperlinks; changed default level

improved display of class description, no-arg methods, DefaultValue etc.

improved display of Java Enums and Java classloader info; extended property information (type, validations, default value); avoid field lengths warnings

handled case of javahandle* objects

fixed a couple of edge cases

improved display of class hierarchies; fixes for MCOS classes

fixed some edge cases; improved the display of multiple super-classes

attribution of whereisjavaclassloadingfrom created by Andrew Janke

fixed the downloadable file

added display of class origin information; fixed report for some .Net classes that are reported as A*B*C; fixed some edge cases

fixed java annotations

handle missing/string input; handle MCOS objects

fixed edge case

enabled checking Matlab-wrapped (javahandle_withcallbacks) handles; displayed function return values & qualifiers; fixed dot-notation internal classes; fixed a few edge-case bugs; added hyperlinks to user-generated subclasses (myclass$subclass)

fixed problem when directly specifying requested superclass level; fixed static fields value display; fixed minor bug with non-derived class

linked to checkClass (not uiinspect); fixed some edge cases; displayed superclass for non-Matlab classes; displayed class modifiers

displayed static field values; fixed minor bug; displayed missing/extra constructors