long l = System.currentTimeMillis();//返回从1970年1月1号0点0分0秒0毫秒到现在为止的毫秒数
不要问我为什么!!!看下面!
为什么:1970.1.1是被看作计算机的元年,最早出现的UNIX操作系统考虑到计算机产生的年代和应用的时限综合取了1970年1月1日作为UNIX TIME的纪元时间(开始时间),而java、数据库、许多精密的仪器等也自然也遵循了这一约束。是说java起源于UNIX系统,而UNIX认为1970年1月1日0点是时间纪元。所以这就是历史!
new和getInstance():
new多用于实体类的创建,返回一个类对象。
而对于抽象类或者没有提供共有方法的类想要得到该类的对象,则需要使用getInstance(),如:
Calendar cal = Calendar.getInstance();//获取一个Calendar类的对象
或是其类内部提供的返回本类对象的方法,如:
Pattern p = Pattern.compile(“ax.by”,str); Matcher m =
p.matcher(str);//特殊的获得类对象的方法 boolean b = m.matches();
重载:方法名相同,参数个数或类型不同,跟返回值类型以及权限修饰符无关。
重写:方法名称相同,参数个数和类型必须相同,返回值类型相同,访问权限修饰符相同或变大。
this和super
this代表当前类对象,使用this.调用当前类的成员变量和成员方法,使用this()调用本类重载的其他构造器,必须出现在构造器的第一行
super代表父类对象,使用super.调用父类被覆盖的变量和方法,使用super()调用父类的无参构造器,可以指定参数调用,必须出现在子类构造器第一行的位置
子类构造器中第一行默认有一个super()指定去调用父类的无参构造器,但如果手动添加了super(),那么默认的会消失
this()和super()不能同时使用
代码的执行顺序:
父类静态代码块 -> 子类静态代码块 -> 父类自由块-> 父类构造器-> 子类自由块 -> 子类构造器
修饰符的作用范围:
强制类型转换:
手画的,有点挫~~~见谅~(^__^) 嘻嘻……
//私有化构造器:其他类不能创建此类的对象
private SingleInstance() {
}
javadoc包不属于类库主要包括的核心包
将类的无参构造方法用private修饰,则其他类无法创建此类的对象,只能通过类内部提供的方法来得到此类的对象。
java 能运行虚拟机实现跨平台是错的,不要问我为什么!
不是运行虚拟机而是通过虚拟机来减少不同平台之间的差异来达到跨平台效果。
在Java语言中,如果数值后没有字母,计算机默认为int/double类型。