转载于wongstar

来源:互联网 发布:vscode如何编译less 编辑:程序博客网 时间:2024/05/17 06:10

在过去的一年浪费了太多的时间和精力,三天打鱼,两天晒网。没什么成绩。失败在两个字上 -----“专注”

从2月23日起每天至少1个java源文件的学习

学习路线如下:

lang-->util-->math-->text-->io-->nio-->sql-->security

 

 

  1. java.lang.Object类的学习

该类是所有类的父类,每个类都使用它作为超类。没有任何属性

  • static native void registerNatives() --->在内存中分配空间  (本地方法)
  • protected native方法clone -->克隆一个对象
  • protected 方法finalize --->释放内存
  • public final native方法getClass、notify、notifyAll、wait(long timeout)
    public final方法wait(long timeout, int nanos)、wait()
    public native方法hashCode、
    public方法equals(比较内存地址)、toString(返回:类名+@+hashCode的16进制表示) 

   2.java.lang.Class类的学习

 

final的class,不能被继承;private构造函数,不能被实例化;
枚举是一种类,注释是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。
实现的接口java.io.Serializable, java.lang.reflect.GenericDeclaration,
java.lang.reflect.Type,java.lang.reflect.AnnotatedElement
private static final int属性ANNOTATION、ENUM、SYNTHETIC
private构造函数,不允许进行实例化
private static native方法registerNatives()在static段中调用

public 方法toString、getName
getName调用private native getName0返回private transient String name属性

private static native方法forName0
public static 方法forName(String className) = Class.forName(String name, true, this.getClass().getClassLoader())
public static 方法forName(String name, boolean initialize,ClassLoader loader)

public 方法newInstance()创建此class所代表的类调用newInstance0
private 方法newInstance0创建类
private volatile transient属性cachedConstructor、newInstanceCallerCache在newInstance0中用到

public native 方法isInstance、isAssignableFrom、isInterface、isArray、isPrimitive、isAnnotation、isSynthetic

public getClassLoader方法返回native方法getClassLoader0
public TypeVariable<Class<T>>[] getTypeParameters()
public native Class<? super T> getSuperclass()返回父类。返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的超类的 Class。如果此 Class 表示                 Object 类、一个接口、一个基本类型或 void,则返回 null。如果此对象表示一个数组类,则返回表示该 Object 类的 Class 对象。
public native Class<? super T> getSuperclass()返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的超类的 Class。如果此 Class 表示 Object 类、一个        接口、一个基本类型或 void,则返回 null。如果此对象表示一个数组类,则返回表示该 Object 类的 Class 对象。
public native Class<?>[] getInterfaces()返回实现的接口
public Type[] getGenericInterfaces()表示此接口的型
public native Class<?> getComponentType()

public Type getGenericSuperclass()返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的直接超类的 Type。
public Package getPackage()返回包

 

3.Boolean 类的学习

public final class Boolean implements java.io.Serializable, Comparable<Boolean>实现了序列化、比较方法

有三个static属性 -->TRUE,FALSE,TYPE

public static final Boolean TRUE=new Boolean(true);

构造函数:

public Boolean(boolean value){

 this.value=value

}

 

 public Boolean(String s) {

this(toBoolean(s));

   }

 

 

 

private static boolean toBoolean(String name) { 

return ((name != null) && name.equalsIgnoreCase("true"));-->忽略大小写 true 其他的为false

    }

 

 

 

ublic static boolean parseBoolean(String s)
public boolean booleanValue()返回所代表的Boolean值
public static boolean getBoolean(String name)

返回boolean所代表的对象
public static Boolean valueOf(boolean b)
public static Boolean valueOf(String s)

返回字符true或者false
public static String toString(boolean b)
public String toString()

public int hashCode()返回1231或者1237
public boolean equals(Object obj)是否相等
public int compareTo(Boolean b)比较不相等时true返回1
private static boolean toBoolean(String name)返回boolean值

原创粉丝点击