JAVA笔记6-继承和权限控制

1、

(1)类的成员的权限修饰符有public,protected,private或default,限定其他对象对该类对象成员的访问权限。

(2)class的权限修饰符只可以是public或default

  public:类可以在任何地方被访问;

  default:类只可以被同一个包内部的类访问。

2、继承

(1)Java中使用extends关键字实现继承;

(2)通过继承,子类自动拥有了基类所有成员(成员变量和方法,但构造方法不能被继承),将父类的private成员也继承下来,但是不能访问(有父类private成员的所有权,但没有使用权)

(3)Java只支持单继承,不允许多继承。

3、继承的例子

4、重写overwirte或override

(1)子类中可以根据需要对基类中继承来的方法进行重写;

(2)重写方法必须和被重写方法具有相同的方法名称、参数列表和返回类型

(3)重写方法不能使用比基类中被重写方法更严格的访问权限

(4)重写方法抛出的异常必须是基类中被重写方法抛出的异常或其子类

(4)对于基类中private的方法不能被重写,子类中定义相同名称的方法时,是新方法,而非重写。

对比:重载overload:方法名相同,参数个数或参数类型不同才构成重载(编译器可以区分开),只有返回值类型不同不构成重载(编译器无法区分开)。

5、super关键字(面宝)

使用super来引用基类。

                        

6、继承中的构造方法

(1)子类的构造过程中必须调用其基类的构造方法

(2)子类可以在自己的构造方法中使用super(参数列表argument_list)调用基类的构造方法;

  使用this(参数列表)调用本类中其他的构造方法

  super(参数列表),this(参数列表)都必须写在子类构造方法的第一行,显然二者不能同时被调用。

(3)如果子类的构造方法中没有显示调用基类构造方法,则系统默认调用基类无参构造方法

(4)如果子类的构造方法中既没有显示调用基类构造方法,而基类中又没有无参构造方法,则编译出错

原文地址:https://www.cnblogs.com/seven7seven/p/3654670.html