JAVA中子类能不能继承父类的私有属性和方法?

C++不能的

  JAVA中,子类可以继承父类的私有属性和方法,但一般不能直接访问,但通过反射还是可以访问的:

  import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;

public class A extends B{
public void set(int x) throws Exception{
Field i=((Class<? extends A>) this.getClass().getGenericSuperclass()).getDeclaredField("i");
i.setAccessible(true);
i.set(this, x);
}
public Object get() throws Exception{
Field i=((Class<? extends A>) this.getClass().getGenericSuperclass()).getDeclaredField("i");
i.setAccessible(true);
return i.get(this);
}

public static void main(String[] args) throws Exception{

A a=new A();
System.out.println(a.get());

a.set(777);
System.out.println(a.get());

}

}
public class B {
private int i=100;
}
  

  
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-05-16
如果父类的数据和方法申明为私有使用(关键字private)
则子类不能访问他们
第2个回答  2008-05-16
那要看情况,如果是内部类的话就能访问:
public class A {
private int test = 1;

class B extends A {
public int test = 2;

public B(int test) {
System.out.println(super.test);
System.out.println(this.test);
System.out.println(test);
}
}

public static void main(String[] args) {
new A().new B(3);
}
}

如果排除内部类的话,子类是不能访问父类被private修饰的成员方法和成员属性。
第3个回答  2008-05-16
子类继承父类的所有方法和属性
private的属性和方法不能本回答被提问者采纳
第4个回答  2008-05-16
Private不行,
Protected可以,Public就更不用说了.

JAVA中子类能不能继承父类的私有属性和方法?
JAVA中,子类可以继承父类的私有属性和方法,但一般不能直接访问,但通过反射还是可以访问的:import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;public class A extends B{ public void set(int x...

Java中子类能够继承父类的private属性或方法吗
程序验证,父类的私有属性和方法子类是无法直接访问的。当然私有属性可以通过public修饰的getter和setter方法访问到的,但是私有方法不行。假设:子类不能够继承父类的私有属性和方法 那么:分析内存后,会发现,当一个子类被实例化的时候,默认会先调用父类的构造方法对父类进行初始化,即在内存中创建一个...

JAVA中,子类将继承父类的所有属性和方法么~?为什么?
是的,子类将继承父类的非私有的属性和方法。在JAVA中,子类继承父类的所有方法和属性(构造方法要用关键super([参数])调用);继承是JAVA中一个重要的特色,便于程序的编写,提高代码的重用性。1、如果给子类i提供get和set 通过get调用的自然是子类的。2、如果给父类和子类分别提供get和set,调的...

Java中子类继承了父类的私有属性及方法吗?
可以继承,只是无法访问到而已。

Java中子类能够继承父类的private属性或方法吗
继承肯定是继承,但没法访问

子类将继承父类所有的方法和属性吗?为什么?
子类继承父类的所有的非私有的方法和属性。当父类的方法或属性被声明为private(私有的)时,子类是不可以继承的。继承可以使得子类别具有父类别的各种属性和方法,而不需要再次编写相同的代码。在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其...

Java 中子类是否只继承父类的非私有变量和方法
一个子类只能继承其父类的可访问的成员,并且该子类没有覆盖或者说隐藏父类中的那些可访问成员。所以,一个类的成员就是指在这个类中所声明的属性和方法,再加上从其父类继承而来的属性和方法。也就是说,子类是不能继承父类的私有成员的。虽然子类不继承父类中的私有成员,但是在父类中生命的这些...

子类能继承父类的所有方法和属性
子类继承父类,子类拥有了父类的所有属性和方法。父类的私有属性和方法子类是无法直接访问的。当然私有属性可以通过public修饰的get和set方法访问到的,但是私有方法不行。父类的private属性,会被继承并且初始化在子类父对象中,只不过对外不可见。详解:分析内存后,会发现,当一个子类被实例化的时候,默...

子类如何调用父类private修饰的属性或方法?
在JAVA中,子类是无法继承父类的private修饰的属性和方法的,也就是说子类继承了父类,却没有继承其用private修饰的属性和方法,就无法调用了。这有利于在开发过程中保护父类的某种属性和方法不被覆盖 需要注意的是:使用了private修饰的属性和方法,默认使用final修饰,也就是说使用了private修饰的属性,...

关于Java 的继承问题,子类会继承父类的哪些东西?
在Java继承里,父类的属性还有方法在声明时,如果是public关键字即公共属性,则在子类继承时,这些属性和方法都会被子类继承。受保护的也可以继承 但是私有的类属性成员和方法则无法继承。.子类继承父类的成员变量 当子类继承了某个类之后,便可以使用父类中的成员变量,但是并不是完全继承父类的所有成员...

相似回答