JAVA中,子类将继承父类的所有属性和方法吗

2021-01-12 20:55:58 字数 3475 阅读 4585

1楼:育知同创教育

1 是的,在java中,子类继承父类的所有方法和属性(构造方法要用关键super([参数])调用)另外,当父类的方法或属性被声明为private(私有的)时,子类也是不可以继承的。 2、继承是java中一个重要的特色,便于程序的编写,提高**的重用性。

2楼:明月依旧长

子类将继承父类的非私有的属性和方法

java中子类可以继承父类的静态方法吗

3楼:匿名用户

其实楼主只要理解static修饰的成员在内存中的分配情况就能理解;

以楼主**为例:

1.首先声明一点: static修饰的变量/函数优行于该类对象存在; 随着类的加载而加载,而这时还不需要对象; 这也是静态**可用类名. 出来的原来;

2.理解以上就可推断出很多;eg:

2.1 假设有b b=new b();

则这时因为继承的关系,会一直调用到a的构造方法。这样就会把a,b中两个print()都加入进方法区, 但a的print()方法在a对应的区域,b的print方法在b中对应的区域;

此时我们用b,print()调用的是b中的print();

2.2 假设有a a=new b();

此时因为编译器在编译时认为a的类型是a,所以调用的是a中的print();

//这也是父类对象不能调用子类对象的特有方法的原因.。

而在运行时, jvm会发现a的真实类型是b,所以a可向下转型为b类型;这时就可以调用子类特有方法

//这也是为什么可以向下转型,

4楼:黑马程序员

不可以,静态方法不能继承,也不能覆盖。

5楼:营化衡巧春

若父类的static

方法,子类可以访问时,则:能继承,能覆盖,但不能重写(重写只针对非static方法)。

即使在子类中有一个与父类具有相同方法标签(方法名相同,参数类型相同,返回值类型相同,甚至连访问级别也相同),也只能说明是对子类又新建了一个与父类同名的静态方法,而不是对父类的静态方法的重写.

java子类是否会有父类的private方法和属性

6楼:育知同创教育

子类继承父类,子类拥有了父类的所有属性和方法。

程序验证,父类的私有属性和方法子类是无法直接访问的。当然私有属性可以通过public修饰的getter和setter方法访问到的,但是私有方法不行。

假设:子类不能够继承父类的私有属性和方法

那么:分析内存后,会发现,当一个子类被实例化的时候,默认会先调用父类的构造方法对父类进行初始化,即在内存中创建一个父类对象,然后再父类对象的外部放上子类独有的属性,两者合起来成为一个子类的对象。

所以:子类继承了父类的所有属性和方法或子类拥有父类的所有属性和方法是对的,只不过父类的私有属性和方法,子类是无法直接访问到的。即只是拥有,但是无法使用。

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

7楼:育知同创教育

最近学习继承,从书中看到子类继承父类,子类拥有父类所有的属性和方法,于是使用程序去验证,发现父类的私有属性和私有方法,子类是不能访问的,当然一些父类的私有属性可能可以通过相应的方法访问到,但是私有的方法似乎不能简单的访问,这里暂不考虑java反射机制,于是我分析,子类不能继承父类私有的属性及方法,但是分析了内存后,我发现我是错的,在一个子类被创建的时候,首先会在内存中创建一个父类对象,然后在父类对象外部放上子类独有的属性,两者合起来形成一个子类的对象。所以所谓的继承使子类拥有父类所有的属性和方法其实可以这样理解,子类对象确实拥有父类对象中所有的属性和方法,但是父类对象中的私有属性和方法,子类是无法访问到的,只是拥有,但不能使用。就像有些东西你可能拥有,但是你并不能使用。

所以子类对象是绝对大于父类对象的,所谓的子类对象只能继承父类非私有的属性及方法的说法是错误的。可以继承,只是无法访问到而已。

java中子类会继承父类的构造方法吗

8楼:好程序员

是的,继承

是子类会继承父类的属性和方法,构造方法也是属于方法,所以会继承构造方法,例如:

public class concept

}//父类(超类)

class chicken

public void desc()

}//子类

class homechicken extends chicken}//子类野鸡类

class pheasant extends chicken}在这里,

public class concept

}//父类(超类)

class chicken

public void desc()

}//子类

class homechicken extends chicken}//子类野鸡类

class pheasant extends chicken}在这里homechicken 继承父类chicken,在子类homechicken中,也继承了父类的chicken()方法

9楼:萍水相逢本是缘

不会,构造方法不能重写,但可以重载

java中子类继承父类的构造方法吗

10楼:匿名用户

class child extends parent}

11楼:好程序员

能啊 用super.构造方法名,就可以使用你类的构造方法.

java中子类继承父类的构造方法吗

12楼:匿名用户

继承问题,子类实例化生成对象时,把这个类加载到jvm上,会先生成类的实例,但是new关键字有一个特殊的性质就是会先调用类的无参构造方法,如果这个

类继承了父类,则子类实例化时,会先调用父类的无参构造方法,因此在这儿b b = new b()的过程中,会先调用a类的无参构造方法

13楼:兄弟连教育北京总校

概述:子类默认会调用父类的隐士的构造方法,如**:

public class person

public class zhangsan extends person

}//再给你一个例子作为参考

public class person

}public class zhangsan extends person}

14楼:康熙转世

楼主您好

java中子类默认会调用父类的隐式的构造方法(就是不带参数的,如果不执行什么语句可以省略但jvm编译时会加上的那种)

子类中的方法必须调用父类的构造方法,如果父类中只有一个有参的构造方法,你在子类的构造方法必须调用,而且是子类的构造方法第一句话必须是调用父类的有参构造方法,否则编译器会提示错误的。如果父类中有无参的构造方法,你没有写的话会自动调用的

java子类继承父类的好处有哪些

1楼 匿名用户 第一,让你少写 父亲类写过的东西,比如变量方法,你可以直接用,不用改了吧。 第二,让你好维护程序 在没有继承的时候,如果你想添加功能,你必须改动源 ,但是如果你没有呢,怎么办?你可以选择继承,呵呵,还有你的这个类体系都可以进行多态,写成通用的程序,好处多多啊。仔细体会。 第三,让你容...

java中子类和子类型的区别,Java的类的继承中,子类与非子类是什么?有什么区别?

1楼 宝贝我想了 子类化 subclass 和 子类型化 subtype 的区别 原创,未经作者许可不得 subtype具有更加严格的要求,就是父类的任何子类都可以在运行时可无缝的代替父类的工作,子类的接口具有更加相比父类更加强的前置条件,父类的接口在子类中得到继承,并且不得在子类中修改父类方法的签...