Java 语言是面向对象程序语言,面向对象有三大特点:(封装)(继承)( 多态 )
1、让一个类继承另外一个类,使用extends关键字。
public class Dog extends Pet{
}
一个类继承另一个类,就是可以使用另一个类的属性和方法,这就子类、父类的继承关系。存在了这层关系,在子类中建立子类对象,用对象来引用父类的属性、方法;
2. JAVA中的继承具有单根性:一个类只能继承1个父类(基类|超类)。不能一个类继承多个父类。
3.父类私有的属性和方法,子类是无法继承的(除私有 private 以外的成员,均可以被子类继承)。
4.父类无法继承子类的任何成员。(以后讲多态时,通过子类向上转型 ,父类可以调用 子类的方法)
5.创建子类对象时,会默认调用父类无参的 构造方法 。super();
6.创建子类对象时,在子类中可以显式调用父类的有参构造方法和无参的构造方法。
public Dog( ){
super(“旺财”, 5);//显式调用父类有参的构造方法
}//正确
public Dog( ){
super(); //显式调用父类无参的构造方法
}//正确
7.子类不能在构造方法中同时调用父类的多个构造方法。
public Dog(){
super();//显式调用父类无参的构造方法
super(“旺财”, 5);//显式调用父类有参的构造方法
}// 错误 , 只能调用一个父类的构造 方法。不能同时调用 两个或多个。
8.显式调用父类构造方法时, 必须 在子类方法的 第一行的位置 调用。
public Dog(){
super();
System.out.println(“”);
}//正确
public Dog(){
System.out.println(“”);
super(); // 使用父类的构造 方法,必须子类方法中的第一行。
}//错误
9.子类调用父类的成员,可以使用super关键字进行调用。
调用父类构造方法:super();
调用父类的属性: super.属性名;
调用父类的方法: super.方法名();
注意:子类中调用父类的成员时,也可以使用this关键字调用(this无法调用父类的构造方法)。
10、访问修饰符如果是public ,那么该类在整个项目中可见,即其方法和属性在整个项目中可用。
11、 不写访问修饰符 , 采用默认的访问修饰符 ,则该类的属性和方法,只在当前包可见(可用)。
12、 Object 类是所有类的父类 ,在JAVA中,所有JAVA类都是直接或间接地继承了java.lang.Object类,Object 类是所有类的祖先,所有的对象都继承这个类的方法。
13、继承关系中的 方法重写 :如果从父类继承的方法不能满足子类的需求,可以在子类中对父类的同名方法进行重(覆盖),以符合要求 。方法重写,必须是在子类与父类之间,在子类中重新写了与父类同名的方法。这叫 方法的重写。
14、方法的重载: 方法重载 不需要有子、父继承关系。在同一类中引用了 “相同方法名”的方法多次。这些在同一类中使用的同名方法,有以下几种形式是:无参、无返回;无参、有返回; 有参、无返回;有参、有返回。