1.class Parent {
private void method1(){
System.out.println("Parent's method1()");
}
public void method2(){
System.out.println("Parent's method2()");
method1();
}
}
public class Child extends Parent{
public void method1(){
System.out.println("Child's method1()");
}
public static void main(String[] args) {
Parent p=new Child();
p.method2();
}
}
输出:Parent's method2()
Parent's method1()
2.class Parent {
void method1(){
System.out.println("Parent's method1()");
}
public void method2(){
System.out.println("Parent's method2()");
method1();
}
}
public class Child extends Parent{
public void method1(){
System.out.println("Child's method1()");
}
public static void main(String[] args) {
Parent p=new Child();
p.method2();
}
}
输出:Parent's method2()
Child's method1()
分析:1.多态new的对象,调用的方法是父类中一定存在的,否则编译不通过.如果调用的方法不是私有的,则会先去到子类中,查找该方法有没有被子类覆盖,如有,执行子类方法;如无,执行父类方法,即使子类中存在参数类型最匹配的方法也不会被执行.
2.private是私有的,其他类是不能访问的,子类也不可以访问,所以你可以重新实现父类的该方法,不会有冲突,但是你重新实现的方法,不叫重写也不叫重载,是一个该子类新增的方法,和子类的一般扩展方法一样.所以例1中父类方法method1是private的,不能被子类覆盖,所以调用的是自身的方法
分享到:
相关推荐
Java的子类调用父类的构造方法.pdf
java中的继承(子类调用父类构造方法还不懂).doc
在本篇文章里小编给大家整理了关于java子类调用父类的方法中包含子类重写的实例方法以及相关知识点,需要的朋友们可以学习下。
主要介绍了Java父类调用子类的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了java子类继承父类实例-披萨的选择实现代码,具有一定借鉴价值,需要的朋友可以参考下。
今天小编就为大家分享一篇关于C++/JAVA/C#子类调用父类函数情况总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法; ## Java 父类强转子类 只有父类对象本身就是用子类new出来的时候, 才可以在将来被强制转换为子类对象.
代码中设计了各个类的基类,设置私有成员变量,利用构造器对成员变量初始化,用geter、seter访问器设置、获取成员变量的值。继承基类并创建对象,在子类中调用父类方法。
解决java常见的空指针异常 为大家排忧解难 提供微薄之力
调用子类的构造方法时,会先调用父类的构造方法。默认隐式调用父类无参数的构造方法 4.如果要在子类的构造方法中显式调用父类的构造方法。使用super(参数列表),但是这行代码必须是在 子类的构造方法的第一行。
熟悉使用@Override注解重写父类方法和使用super关键字调用父类方法。 阅读建议: 建议读者在阅读前具备Java的基础知识,包括类、对象、方法和成员变量等概念。 在阅读过程中,尝试编写简单的Java程序,创建并使用...
对初学者非常有用的资源,大家拿回去好好看啊
内容概要: 本文介绍了...建议通过阅读相关的Java教材或搜索资料,进一步了解与方法覆盖相关的高级主题,如多态和抽象类等内容。 如有疑问,可以参考Java官方文档或向技术论坛寻求帮助,进一步加深对方法覆盖的理解。
孙卫琴Java讲座jav面向对象思想声明构造方法的语法规则 重载构造方法,参见Employee.java 默认构造方法, 参见Sample1.java 子类调用父类的构造方法,参见Son.java
5_1.编写一个类,该类封有一个方法 ...在应用的程序的主类中分别使用父类和子类创建对象,并分别调用方法f()计算两个正整数的最大公约数和最小公倍数。 2.编写一个类,该类能用正则表达式读取网页中的标签
大连理工大学Java小学期华为云作业答案(前七章) 7.2_3 对输入的字符进行打印 ...利用多态性质,父类调用子类方法,定义一个移动卡、联通卡,手机类继承父类。实现动态调用,对输入手机号打印输出结果。
子类不能继承父类中访问权限为private的成员变量和方法,子类可以重写父类的方法,及命名与父类同名的成员变量。 子类通过隐藏父类的成员变量和重写父类的方法,把父类的状态和行为改变为自身的状态和行为。注意:...
方法的重写是子类对父类的方法进行改造。 方法重写必须满足下列条件。 (1)子类的方法的名称及参数必须和所重写的方法完全相同。 (2)子类的方法返回类型必须和所重写的方法相同。 (3)子类方法不...