1、当用子类的构造方法创建一个子类的对象时,不仅子类中声明的成员变量被分配了内存,而且父类的成员变量也都被分配了内存
2、子类不继承父类的私有变量
3、父类中的private成员变量尽管分配了内存空间,也不作为子类对象的变量,子类中还有一部分方法是从父类继承的,这部分方法却可以操作这部分未继承的变量
class People
{
private int averHeight = 166;
public int getAverHeight()
{
return averHeight;
}
}
class ChinaPeople extends People
{
int height;
public void setHeight(int h)
{
height = h + averHeight; //非法,子类没有继承averHeight
height = h;
}
public int getHeight()
{
return height;
}
}
public class Example_1
{
public static void main(String args[])
{
ChinaPeople zhangsan = new ChinaPeople();
System.out.println("子类对象未继承的averHeight的值是: " + zhangsan.getAverHeight());
zhangsan.setHeight(178);
System.out.println("子类对象的实例变量height的值是: " + zhangsan.getHeight());
}
}
关于instanceof运算符
这是一个双目运算符,左边的操作元是对象,右边的操作元是类
当左边的操作员是右面的类或其子类所创建的对象时,运算的结果是true否则为false