A:类的命名:
1、单个单词,第一个单词首字母大写,其他均为小写
2、多个单词,每个单词首字母大写,其他小写
3、每个字母都大写包含单词缩写
*只有public, abstract final是合法的,
public 公共类
default 默认类(即 class 前什么都不加)
abstract 抽象类
final 不能被继承的类
static 静态类
private 只能修饰内部的类
所有方法:
1. getClass()
2. hashCode()
3. equals()
4. toString()
5. clone()
6. wait()...
7. notify()
8. notifyAll()
9. finalize()
接口是一种特殊的抽象类,抽象类中的抽象方法(其前有 abstract修饰)不能用 private、 static、 synchronized、native访回修饰符修饰。原因如下:
1. private
抽象方法没有方法体,是用来被继承的,所以不能用 private修饰;
2.static
static修饰的方法可以通过类名来访间该方法(即该方法的方法体),抽象方法用static修饰没有意义;
3. synchronized
该关键字是为该方法加一个锁。而如果该关键字修饰的方法是 static方法。则使用的锁就是class变量的锁。如果是修饰类方法。则用this变量锁。
但是抽象类不能实例化对象,因为该方法不是在该抽象类中实现的。是在其子类实现的。所以,锁应该归其子类所有。所以,抽象方法也就不能用 synchronized关键字修饰了;
4. native
native这个东西本身就和 abstract冲突,他们都是方法的声明,只是一个把方法实现移交给子类,另一个是移交给本地操作系统。如果同时出现,就相当于即把实现移交给子类,又把实现移交给本地操作系统,那到底谁来实现具体方法呢--->>
接口是一种特殊的抽象类,接口中的方法全部是抽象方法(但其前的 abstract可以省略),所以抽象类中的抽象方法不能用的访间修饰符这里也不能用。同时额外说明一下protect关键词
protect&