1.访问权限public、private和protected:public关键字具有最高访问权限,它之后跟着的成员声明对每个人都是可用的(即使处于不同包内的其它类也可以访问);private关键字除了包含该成员的类以外,其它任何类都无法访问这个成员(即使处于同一个包内的其它类也不可以访问),实际等于隔离了自己,提供了更高的操作安全性;而protected关键字处理的是继承的概念,当基类创建者希望把某个特定成员的访问权限赋予派生类而不是所有类的时候,就需要用protected关键字,protected也提供包访问权限,即相同包内的其它类可以访问protected元素。另外就是什么关键字也不用的时候,默认的意思是具有包访问权限,即当前包内的所有其它类都对那个成员有访问权限。
总结起来可以这么描述:当不用任何关键字的时候,当前包内所有类具有访问权限;当使用public关键字的时候,不同包里的各个类均具有访问权限;当使用protected关键字的时候,相同包类的其它类可以有访问权限,并且该类在其它不同包内的子类也可具有访问权限;当使用private关键字的时候,只有同一个类中的其它成员可以有访问权限,对其它类都是不可以访问的。
2.static关键字:没有被static关键字修饰的成员必须被实例化,即必须创建类的对象,然后由类的对象来访问成员;如果被static关键字修饰了,表示可以不经过实例化直接被访问。
3.final关键字:常量的修饰关键字,用来修饰常量。
4.抽象类和抽象方法都必须用obstract修饰;抽象类不能被实例化,抽象方法不需要实现;只要含有抽象方法,这个类就必须被声明为抽象类,即抽象类中的各个方法可以全部是抽象方法也可以不全部是抽象方法,但至少要含有一个抽象方法;抽象类的子类只有覆盖所有的抽象方法后才可以被实例化,否则还是一个抽象类。
5.接口interface是常量和方法定义的集合(不实现),都用public关键字修饰。其中定义的常量的修饰关键字的完整表示是public static final,但默认可以省略;定义的方法不需要有实现方法的用"{"和"}"括起来方法体代码,而是用一个";"结束,默认也可以省略前面关键字。我们可以定义一个接口继承另一个接口;可以定义一个类实现一个接口中的所有方法;也可以定义一个抽象类实现一个接口中的部分方法;一个类在继承父类的同时,可以实现一个或多个接口,extends关键字必须位于implements关键字之前。
转载于:https://blog.51cto.com/soly84/27542