1、java中只支持单继承,即一个子类只能继承一个父类,而且只能继承父类的成员变量和成员函数,不能继承父类的构造函数。继承的关键字 extends     class Student  extends  People{};Stutent是子类,People是父类。

2、在子类的构造函数当中,必须调用父类的构造函数,如果子类中构造函数中没有明确的调用父类的构造函数,系统自动生成super();意思是调用父类的构造函数。this();是调用本类的构造函数。

3、访问权限,public,整个工程下可见,protect 同一个包下所有类可见,不同包下只有他的子类可见,友好的(即什么也不加的 如 int i 就说是友好的)一个包内所有类可见,private 只有在类内才可见。

4、当子类的成员变量和父类中的成员变量同名时,父类的成员变量不能被子类继承(即被子类的成员变量覆盖),此时称子类的成员变量隐藏了父类的成员变量。   

      当子类方法的名字,返回类型,及参数个数和参数类型与父类的方法完全相同时,父类的同名方法将被隐藏。而这种子类方法覆盖父类方法的现象叫做重写

值得注意的是 子类重写的访问权限必须大于或者等于父类的访问权限,如父类的访问权限是private  那么子类的访问权限必须是private 或者是public。 

5、final关键字可以用来修饰类、方法和变量。拥有下面三个特点   ①、final修饰的类不能被继承。②、final修饰的方法不能被重写。③、final修饰的变量是常量,不能修改其值  具体的用法是  public final class People{};   final int  x = 0;     final  void  y();

6、对象上转型特点:

①.上转对象不能操作子类新增的成员变量,失掉了这部分属性,不能使用子类新增的方法,失掉了一些功能。
②.上转型对象可以操作子类继承或重写的成员变量,也可以使用子类继承的或重写的方法。
③.如果子类重写了父类的某个方法后,当对象的上转型对象调用这个方法时一定是调用了子类重写的方法。因为程序在运行时知道,这个上转对象的实例是子类创建的,只不过损失了一些功能而已。

7、对象上转型 Person person = new Student();  person.name是父类person的名字,若子类重写了父类的f函数,那么调用此函数(person.f())时,显示的是子类的函数,而如果是子类自定义的函数f2();由于父类中没有这个函数 所以系统会报错。