public static void main(String[] args) {Runtime:
String str1 = new String(), str2 = new String();
System.out.println(str1.getClass().getName());
System.out.println(str2.getClass().getName());
if(str1.getClass().equals(str2.getClass())){
System.out.println("str1 и str2 являются экземплярами одного и того же класса");
}else{
System.out.println("str1 и str2 являются экземплярами разных классов");
}
Integer A = new Integer(1);
логическое значение B = новое логическое значение(true);
System.out.println(A.getClass().getName());
System.out.println(B.getClass().getName());
if(A.getClass().equals( B.getClass())){
System.out.println("A и B являются экземплярами одного и того же класса");
}else{
System.out.println("A и B являются экземплярами разных классов");
}
}
java.lang.StringНам нужны методы newInstance() и forName() потому что иногда мы не можем узнать имя созданного экземпляра класса во время выполнения, поэтому эти методы упрощают нам задачу.
java.lang.String
str1 и str2 являются экземплярами одного и того же класса
java.lang.Integer
java.lang.Boolean
A и B экземпляры разных классов
try {Runtime:
/*newInstance() эквивалентно new String()*/
String str2 = str1.getClass().newInstance();
System.out.println(str2.getClass().getName());
System.out.println(str2.getClass().getSimpleName());
System.out.println(str2.getClass().getCanonicalName());
} catch (InstantiationException e) {
// TODO Автоматически сгенерированный catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Автоматически сгенерированный catch block
e.printStackTrace();
}
java.lang.StringЕсть и другие методы проверки типа class:
String
java.lang.String
String str1 = new String();
String[] array = {"aa","bb","cc"};
String[] array2 = {"fd","be","ce"};
System.out.println(array.getClass().isArray()); true
System.out.println(array.getClass().isInstance(array2)); true
System.out.println(array.getClass().isLocalClass()); false
java.lang.Class button = Class.class.forName("javax.swing.JButton");Выполнение этого фрагмента кода приводит к длинному списку методов java.lang.String, поэтому мы просто покажем список конструкторов и интерфейсов:
System.out.println("Конструкторы "+button.getClass());
Конструктор > [] c = button.getClass().getConstructors();
for(int i=0; Я< в) длина; i++)
System.out.println(c[i]);
System.out.println("Интерфейсы "+button.getClass());
java.lang.Class > [] interfaces = button.getClass().getInterfaces();
for(int i=0; Я< interfaces.length; i++)
System.out.println(interfaces[i]);
System.out.println("Методы "+button.getClass());
Method[] m = button.getClass().getMethods();
for(int i=0; Я< м.длина; i++)
System.out.println(m[i]);
javax.swing.JButtonReferences:
javax.swing.JButton
interface java.io.Serializable
interface java.lang.reflect.GenericDeclaration
interface java.lang.reflect.Type
interface java.lang.reflect.AnnotatedElement
< br />Методы класса javax.swing.JButton
public static java.lang.Class java.lang.Class.forName(java.lang.String,boolean,java.lang.ClassLoader) выбрасывает java.lang.ClassNotFoundException
public static java.lang.Class java.lang.Class.forName(java.lang.String) выбрасывает java.lang.ClassNotFoundException
public native boolean java.lang.Class.isAssignableFrom(java.lang.Class)
public native java.lang.Class java.lang.Class.getSuperclass()
public native java.lang.Class java.lang.Class.getComponentType()
public java.lang.String java.lang.Class.toString()
public native boolean java.lang.Class.isInstance(java.lang.Object)
public native int java.lang.Class.getModifiers()
public native boolean java.lang.Class.isInterface()
public native boolean java.lang.Class.isArray()
public native boolean java.lang.Class.isPrimitive()
public java.lang.String java.lang.Class.getName()
public java.lang.class java.lang.Class.asSubclass(java.lang.Class)
public java.lang.lang.Object java.lang.Class.cast(java.lang.Object)
public java.lang.Class[] java.lang.Class.getClasses()
public java.lang.reflect.Field java.lang.Class.getField(java.lang.String) выбрасывает java.lang.NoSuchFieldException,java.lang.SecurityException
public java.lang.reflect.Field[] java.lang.Class.getFields() выбрасывает java.lang.SecurityException
public java.lang.reflect.Method java.lang.Class.getMethod(java.lang.String,java.lang.Class[]) выбрасывает java.lang.NoSuchMethodException,java.lang.SecurityException
public java.lang.reflect.Method[] java.lang.Class.getMethods() выбрасывает java.lang.SecurityException
public java.lang.Package.lang.Class.getPackage()
public java.net.URL java.lang.Class.getResource(java.lang.String)
public native java.lang.Object[] java.lang.Class.getSigners()
public boolean java.lang.Class.isAnnotation()
public boolean java.lang.Class.isEnum()
public boolean java.lang.Class.isLocalClass()
public boolean java.lang.Class.isSynthetic()
public java.lang.Object java.lang.Class.newInstance() выбрасывает java.lang.InstantiationException, java.lang.IllegalAccessException
public boolean java.lang.Class.desiredAssertionStatus()
public java.lang.annotation.Annotation java.lang.Class.getAnnotation(java.lang.Class)
public java.lang.annotation.Annotation[] java.lang.Class.getAnnotations()
public java.lang.String java.lang.Class.getCanonicalName()
public java.lang.lang.ClassLoader java.lang.Class.getClassLoader()
public java.lang.reflect.Constructor java.lang.Class.getConstructor(java.lang.Class[]) выдает java.lang.NoSuchMethodException,java.lang.SecurityException
public java.lang.lang.reflect.Constructor[] java.lang.Class.getConstructors() выбрасывает java.lang.SecurityException
public java.lang.annotation.Annotation[] java.lang.Class.getDeclaredAnnotations()
public java.lang.Class[] java.lang.Class.getDeclaredClasses() выбрасывает исключение java.lang.SecurityException
public java.lang.reflect.Constructor java.lang.Class.getDeclaredConstructor(java.lang.Class[]) выбрасывает java.lang.NoSuchMethodException,java.lang.SecurityException
public java.lang.reflect.Constructor[] java.lang.Class.getDeclaredConstructors() выбрасывает java.lang.SecurityException
public java.lang.Reflect.Field java.lang.Class.getDeclaredField(java.lang.String) throws java.lang.NoSuchFieldException,java.lang.SecurityException
public java.lang.reflect.Field[] java.lang.Class.getDeclaredFields() выбрасывает java.lang.SecurityException
public java.lang.reflect.Method java.lang.Class.getDeclaredMethod(java.lang.String,java.lang.Class[]) выбрасывает java.lang.NoSuchMethodException,java.lang.SecurityException
public java.lang.reflect.Method[] java.lang.Class.getDeclaredMethods() выбрасывает java.lang.SecurityException
public native java.lang.Class java.lang.Class.getDeclaringClass()
public java.lang.Class java.lang.Class.getEnclosingClass()
public java.lang.reflect.Constructor java.lang.Class.getEnclosingConstructor()
public java.lang.reflect.Method java.lang.Class.getEnclosingMethod()
public java.lang.Object[] java.lang.Class.getEnumConstants()
public java.lang.reflect.Type[] java.lang.Class.getGenericInterfaces()
public java.lang.reflect.Type java.lang.Class.getGenericSuperclass()
public native java.lang.Class[] java.lang.Class.getInterfaces()
public java.security.ProtectionDomain java.lang.Class.getProtectionDomain()
public java.io.InputStream java.lang.Class.getResourceAsStream(java.lang.String)
public java.lang.String.java.lang.Class.getSimpleName()
public java.lang.reflect.TypeVariable[] java.lang.Class.getTypeParameters()
public boolean java.lang.Class.isAnnotationPresent(java.lang.Class)
public boolean java.lang.Class.isAnonymousClass()
public boolean java.lang.Class.isMemberClass()
public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException
public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException
public final void java.lang.Object.wait() throws java.lang.InterruptedException
public boolean java.lang.Object.equals(java.lang.Object)
public native int java.lang.Object.hashCode()
public final native java.lang.Class java.lang.Object.getClass()
public final native void java.lang.Object.notify()
public final native void java.lang.Object.notifyAll()
Please disable your ad blocker and refresh the window to use this website.