1、如果构造函数被声明为private类型,那么在别的类中不能生成该类的对象
2、private隐蔽性最高,只能被该类的方法访问;protected能被该类还有该类的子类以及同一个包中的其他类访问;默认情况是friendly,能被该类以及子类还有同一个包中的其他类访问;public提供给客户的接口,服务。
3、子类能继承父类protected以及public的方法,如果在同一个包内则子类可以继承默认修饰符修饰的方法(friendly以及protected的区别),一般来说私有方法变量private不能被子类继承。
4、如果子类中声明了与superclass同名的变量,则子类不继承superclass的该变量
5、superclass的构造方法在子类之前调用,沿着继承关系链(父类在子类之前!!!)
6、super调用父类被隐藏的成员变量或者被覆盖的方法,或者调用父类的构造方法。
7、this表示调用当前对象的变量,不可以使用在类方法中,因为调用类方法的时候可能还没有产生对象,可以使用在构造方法中,表示用构造方法创建的对象。
8、实例化子类之前要先实例化父类,不用super(参数)会默认调用父类无参数构造方法,如果父类没有无参数构造方法就会出错,所以一般都不写有参数的构造方法;也可以使用super(参数)。
9、多态:(1)重载:方法相同,参数不同(类型个数等等),其他的可以相同可以不同。(2)覆盖:1、其他的都相同,返回类型不同。2、参数不同。3、缩小访问权限(静态跟非静态不能覆盖)
10、父类的私有方法是隐形final的,不能覆盖。
11、类型转换(隐性 显性)
12、interface接口只定义变量以及方法体,具体实现由类去实现,public修饰表示都能使用,默认是只有同一个包的能使用,implement实现接口,参数返回值都要一致。
13、package表示该文件属于哪个包,import表示使用哪个包
14、异常:可控异常,不可控异常,运行异常
15、try发送异常后依次匹配catch,如果出现异常则try块代码运行中止。如果在try之前出现异常,就不执行之后的语句,子类的catch块出现在父类之前(这里的子类父类指的是异常块的子类父类关系,如:RuntimeException,Exception)
16、finally模块一定执行,不管有没有异常。
17、采用printStackTrace()方法输出异常对象调用栈的信息;
18、采用getMessage()方法获取异常信息;
19、采用getClass()和getName()方法获取异常类名