结论不会被子类继承私有变量子类对象的堆内存中确实包含了父类的的私有变量只是子类代码无法直接访问这不叫继承。私有方法父类的私有方法绝对没有被继承。私有方法是静态绑定的子类根本不知道父类私有方法的存在。方法在哪里所有的方法无论公有、私有、静态、非静态其字节码指令都统一存放在方法区中属于 Class 对象的数据。怎么调用对象内存中只有一个隐藏的引用指向方法区可以理解为类元数据的指针。当调用方法时JVM是拿着“类元数据指针 方法签名”去方法区里找方法的而不是在对象内部存了一大堆方法地址。总结关于方法存在于方法区子类只继承父类的 非私有、非静态 的实例方法。父类的 私有方法 不被继承静态绑定子类不可见。父类的 静态方法 不被继承属于父类本身子类只是拥有访问权限。被重写的方法其多态状态下的入口会被子类方法替换。关于变量存在于堆内存的对象实例中子类的对象实例在堆内存中物理上包含了父类所有的实例变量包括 private 私有变量它们确实占用了子类对象的内存空间。但是从语法和继承的概念上讲子类只能继承即直接访问父类的 非私有 实例变量。对于父类的 private 变量子类只是“物理上包含了它们的空间”但语法上“不可见、不可直接访问”必须通过父类提供的公共getter/setter间接访问。父类的 静态变量 不在对象内存中不被继承。