包(package)以及引入(import)
*1 包以package开头,引用以import开头
如下所示:
package com.test;
import java.util.HashMap;
public class MyClass {
// 属性
// 方法
}
- 2 如果没有定义包,就是默认包,这样的坏处是容易导致类重名,而且不能被其他包的类引用。
- 3 要调用别的包里的类,需要先把目标类,引入到我们自己的类中。
- 4 一个类的唯一性是有包路径+类名来唯一确定的。所以建议将类定义在包里,且包名全部是小写字母。
- 5 每个java类,在编译的时候,回默认导入java.lang包。
访问修饰符(access modifier)
- 1 public
被public所修饰的属性和方法,可以在该类外部使用(前提是该类被引入到类中)。 - 2 protected
被protected所修饰的属性和方法,只能在该类内部及其子类中被使用(如果在子类中使用,必须是子类的对象或方法调用中使用,而不是在子类中生成父类的对象再调用)。 - 3 default modifier
没有被access modifier所修饰的属性和方法,可以在同一包路径下被使用。 - 4 private
被private所修饰的属性和方法,只能在该类内部使用。 - 5 访问权限(可见性)由大到小顺序
public > protected > default modifier > private
访问控制符对继承的限制
- 1 子类继承父类,则子类对象可以继承父类的public和protected所修饰的属性和方法
- 2 子类不能继承父类的private所修饰的属性或方法。
- 3 子类覆盖(重写Override)父类的方法时,不能降低父类方法的访问权限(可见性)。
Cannot reduce the visibility of the inherited method from Parent - 4 如果父类方法抛出异常,那么子类覆盖父类的方法时,也需要抛异常。