一、访问权限
类成员的访问权限包括public(公有)、protected(保护)、缺省和private(私有)。
- public——说明该类成员可被所有类的对象访问,public指定了最大访问权限范围。
- protected——说明该类成员能被同一类中的其他成员或其子类成员,或同一包(package)中的其他类访问,不能被其他包的非子类访问。
- 缺省——当没有使用访问权限修饰符声明成员时,说明该类成员能被同一类中的其他成员访问或被同一包中的其他类访问,不能被包之外的其他类访问。缺省权限以包为界划定访问权限范围。
- private——说明该类成员只能被同一类中的其他成员访问,private指定了最小访问权限范围。
类的访问权限修饰符只有public和缺省两种,不能使用protected和private。一个源程序文件中可以声明多个类,但用public修饰的类只能有一个,且该类名必须与文件名相同。
一个类成员能否实现包内或跨包访问,最终由其所在类的访问权限与成员访问权限中访问权限范围小的决定。如果类的访问权限为public,成员访问权限缺省,则成员只能在包内访问。如果类的访问权限为缺省,成员访问权限为public,成员仍然只能在包内访问。
二、继承
Java中使用extends关键字来实现继承,若在类的定义中没有指出被继承的类,则默认父类为Object类,Java是单继承。
1、子类不能继承父类私有的成员。
2、子类不能继承父类的构造方法。
3、子类可以重定义继承自父类的成员,但不能重定义继承自父类的静态成员,包括成员变量和成员方法。
三、接口
1、接口的成员默认为public。接口中的方法只是一个定义,没有具体的实现代码。
2、接口支持继承,扩展一个接口来生成新的接口使用关键字extends。一个接口可以继承多个接口,不能实现任何接口。
3、一个类可以用implements实现多个接口。