上学期在书上忘记整理的笔记。可能有些点是当时从网上找来的。不完全原创。
1. Static 方法
(1) 仅能调用其他的static类型的方法
(2) 只能访问static类型的数据
(3) 不能以任何方法引用this 或 super
(4) Static的方法和变量能独立于任何对象而被使用
2. Constructors
(1) Cannot be inherited
(2) Cannot have a return type
(3) The invoking chain of constructors
3. 构造函数的继承
(1) 无定义构造函数时,系统自动补充。 //子类可默认调用。
(2) 有定义带参数的构造函数时,系统不补充无参数的构造函数。//这时子类不能调用父类的无参数构造函数。必须显式的调用父类带参数的构造函数。
4. InterfaceVS Abstract Class
(1) AC(抽象类)表示一种继承关系,一个类只能使用一次继承,但一个类能实现多个接口。
(2) AC可以有自己的数据成员,也可有非abstract方法,而interface,只能有static final 的数据成员,并且所有方法都是abstract的。
(3) AC表示“is-a”的关系。Interface表示“like-a”的关系。
(4) AC中的变量默认是friendly 类型,其值可在子类中重定义,克重新赋值。
(5) Interface中的方法默认都是public abstract 类型。
(6) AC有构造器,Interface没有。
(7) Interface不能有body(方法体),连括号都不能有。
5. String.subString(startindex, endindex)
返回的子串包含startindex,不包含endindex。
String str=“Hello World”;str.subString(2,7);//返回值为”llo W”
6. Scanner P310
(1) 基于正则表达式的文件扫描器//吐槽一句,竟然正则到现在都不会用,真是渣
(2) hasNextXXX()、NextXXX()。String时XXX可省略
(3) 默认使用空白作为分隔符,useDelimiter()修改分隔符
(4) 只能读取,不能写入
7. Runnable-run()
(1) 生成自己的类对象
(2) 从系统那里得到Thread
(3) Thread调用类对象,使其start
Test t= new Test();
Thread thread=new Thread(a);
Thread.start();
8. Comparable–compareTo(Object o)
Comparator –compare(Object o1,Object o2)
(1) 一个类实现了Comparable 接口则表明这个类的对象之间是可以相互比较的,这个类对象组成的集合就可以直接使用sort方法排序。
(2) Comparator在以下两种情况下使用:
1) 类的设计师没有考虑比较问题而没有实现Comparable,可以通过Comparator在类外部实现。
2) 可以使用多种排序标准(升序/降序)。
Array.sort(users, newUserComparator() );
9. Cloneable–clone()
Public Object clone() throwsCloneNotSupportedException{
return super.clone();
}
(1) Java将clone() 的访问级别设置为protected,以限制外部类访问。
(2) Cloneable接口是一个空的接口,没有声明任何属性和方法,该接口只是告诉JVM,该接口的实现类需要开放“克隆”功能。