When you do this, you automatically get all the fields and methods in the base class
---摘自《Thinking in Java》 Reusing class一章。
当继承时,会自动得到基类中的所有的域和方法。
关于这句话如何解读?
1、private修饰的成员能够继承下来吗?
2、final修饰的成员能继承下来吗?
3、static修饰的成员能继承下来吗?
4、构造方法呢?
我自己找到答案了。谢谢两位回答的网友。
书中说的是没有错的。域和方法都会被继承。
在第四版《Thinking in Java》第8.2.4及8.2.5节有相关的回答。
域和方法都会被继承。
对于方法来说,只有非private,或者非final方法(private 方法自动是隐式final的)才能被覆盖。
对于域:最佳实践,我们会将域设置为private型的,并提供公开的get/set方法。但是从语法角度来说,可以设置为包,public,protected。任何域访问操作都将由编译器解析,因此不是多态(后期绑定)的。如果在子类中要访问基类版本的域,需要显式的使用super.field才能访问。
对于静态的,因为和域一样,是前期绑定,所以直接用类名.staticMember访问就行了。
除了用private修饰的成员, 其他都可以继承;
final成员能继承,但不能修改;
static成员能继承,而且能修改;
构造方法也是可以继承的
关于Java 的继承问题,子类会继承父类的哪些东西?
1)能够继承父类的public和protected成员变量;不能够继承父类的private成员变量;2)对于父类的包访问权限成员变量,如果子类和父类在同一个包下,则子类能够继承;否则,子类不能够继承;3)对于子类可以继承的父类成员变量,如果在子类中出现了同名称的成员变量,则会发生隐藏现象,即子类的成员变量会...
关于java继承的描述错误的是
子类可以继承父类的所有公有和受保护方法,如果父类有任何私有方法,则不能被继承。子类不能继承父类的所有字段:这也是错误的。子类可以继承父类的所有公有和受保护字段,除非它们是私有的并且没有提供公共访问器(getter和setter方法)。子类不能覆盖父类的所有方法:这是正确的。如果子类需要覆盖父类...
子类可以继承父类的私有属性吗
Java只支持单继承,不支持多继承。因为多继承容易带来安全隐患:当多个父类定义相同的功能,当功能内容不同的时候,子类对象不确定要运行哪一个,在Java中用另一种形式体现出来,就是接口的多实现。1、父类的任何成员变量都是会被子类继承下去的。子类继承父类,子类拥有了父类的所有属性和方法。父类...
子类可以继承父类的什么
1、在子类继承父类的时候,子类必须调用父类的构造函数。2、如果父类有默认构造函数,子类实例化时自动调用,但如果父类没有默认构造函数,即无形参构造函数,子类构造函数必须通过super调用父类的构造函数。3、还有在java的继承当中子类是不可以继承父类的构造函数只能调用,这是肯定的。
继承:子类可以继承父类的私有成员变量吗
1、在子类继承父类的时候,子类必须调用父类的构造函数。2、如果父类有默认构造函数,子类实例化时自动调用,但如果父类没有默认构造函数,即无形参构造函数,子类构造函数必须通过super调用父类的构造函数。3、在java的继承当中子类是不可以继承父类的构造函数,只能调用父类的构造函数。
Java中的子类会继承父类的所有成员吗
1、关于私有成员变量 无论父类中的成员变量是私有的、共有的、还是其它类型的,子类都会拥有父类中的这些成员变量。但是父类中的私有成员变量,无法在子类中直接访问,必须通过从父类中继承得到的protected、public方法(如getter、setter方法)来访问。2、关于静态成员变量 无论父类中的成员变量是静态的...
java 继承 子类没有父类的private 属性和 方法
首先,子类会继承父类的所有成员,包括private成员。所以子类不是没有这个私有的m成员(子类也为它分配了内存,当创建子类对象时,它的值就是存储在这个内存中),只是因为它是私有的,不能在子类内部直接访问它而已,但可以通过调用父类的方法(这个方法不能是private的)或调用父类的构造器(这个构造器...
关于JAVA继承的问题:子类无条件地继承父类不含参数的构造函数。这句话...
子类可以继承父类的所有成员变量和成员方法,但不能继承父类的构造方法。这就意味着,子类不能用“.”来操作父类的构造方法。但实际上,子类的构造方法中一定会调用父类的构造方法,不过这种调用只是为了创建子类对象进行的初始化处理。而不会创建父类对象。可以使用super()调用父类构造方法。
Java中子类会不会继承父类对于接口的实现
子类会继承父类所实现一切方法,包括父类自定义和父类实现接口而重写的方法。而且子类生成一个对象,如果是父类类型的,那么只能调用父类的方法和子类重写父类的方法;如果是接口类型的,那么只能调用重写接口的那个方法(也就是父类的重写接口的方法)。因此,实际上子类是间接实现了这个接口。希望对大家...
JAVA中,子类将继承父类的所有属性和方法么~?为什么?
在JAVA中,子类继承父类的所有方法和属性(构造方法要用关键super([参数])调用);继承是JAVA中一个重要的特色,便于程序的编写,提高代码的重用性。1、如果给子类i提供get和set 通过get调用的自然是子类的。2、如果给父类和子类分别提供get和set,调的仍然是子类的,因为方法被重写。