java-Java中子类实例可以调用父类方法吗

问题描述

Java中子类实例可以调用父类方法吗 20C
通常情况子类覆写父类方法
如果是构造函数,直接用super()
如果是普通方法用super.method()

但是如果创建了子类实例,比如A类中覆写了Object的equals()方法
A a = new A();
a怎么调用Object的equals()方法

A没有显示继承其他类

解决方案

PHP类中子类调用父类方法
java中子类继承父类方法及调用规则
java中子类,父类的方法调用及属性值

解决方案二:
因为你A类中重写了equals方法了,所以你就调用不到Object的equals方法了。
但是,话说回来,Object的equals方法是最基本的,你A类要重写equals方法的话,必须也重写hashCode方法,需要保证equals相同的对象一定有相同的hashCode值。
所以,最好用Eclipse自带的重写equals方法,自动生成以保证这个约定的成立。

解决方案三:
就像你说的,可以在A类的equals方法中通过super来调用object类中的equals方法。

解决方案四:
这样并没有什么意义呀,,还是不要钻牛角尖了吧

解决方案五:
实在需要的话,你可以实例一个父类,用父类来调用重写的方法,这个方法比用反射直观些。

解决方案六:
你重写了equals方法,那你A类调用的肯定就是重写的方法了。但要是你一定要调用object里的方法,可以在把equals重载一下。

解决方案七:
既然要覆写了方法还要调用不是矛盾吗

解决方案八:
首先,覆写是什么意思你肯定知道,子类的把父类的给覆盖掉了。子类拥有的方法域是子类的方法域与父类中可见的方法域的并集,如有重复,则保留子类中的此方法。至于a怎么调用Object的equals()方法,可以使用反射,相当于直接生成一个Object的实例,只不过下面的代码看似和A有什么关系,其实没什么关系:

 public class A{    public static void main(String[] args) throws Exception{        A a = new A();        a.equals(args);        Method objectEquals = A.class.getSuperclass().getDeclaredMethod(""equals"" Object.class);        System.out.println(objectEquals.invoke(""A""A""));    }    @Override    public boolean equals(Object obj) {        System.out.println(""A.equals"");        return false;    }}

解决方案九:
你直接a.equals()不就可以么,要重写就在A类里面重写equals就行了

解决方案十:
子类只能调用这个覆盖的方法 equals()

(覆盖的意思:就是将父类的覆盖掉了,子类对象调用该方法,只能是重写的覆盖方法,父类对象可以调用原来的equals())

时间: 2024-08-03 15:08:44

java-Java中子类实例可以调用父类方法吗的相关文章

内部类-Java编程中A类如何调用B类中M方法里的C类的实例?

问题描述 Java编程中A类如何调用B类中M方法里的C类的实例? import java.awt.*; import java.awt.event.*; public class TestListener{ public static void main(String[] args){ Counter c1 = new Counter("Hello"); c1.CreatButton(); c1.add(c1.button); ----------------------------(

Python子类调用父类方法实例程序

python和其他面向对象语言类似,每个类可以拥有一个或者多个父类,它们从父类那里继承了属性和方法.如果一个方法在子类的实例中被调用,或者一个属性在子类的实例中被访问,但是该方法或属性在子类中并不存在,那么就会自动的去其父类中进行查找. 继承父类后,就能调用父类方法和访问父类属性,而要完成整个集成过程,子类是需要调用的构造函数的. 子类不显式调用父类的构造方法,而父类构造函数初始化了一些属性,就会出现问题 如果子类和父类都有构造函数,子类其实是重写了父类的构造函数,如果不显式调用父类构造函数,父

为什么子类能够间接调用父类的私有方法

问题描述 子类的对象是不能直接调用父类的私有方法,但是却可以间接调用,求大家解答!代码如下classFather{publicFather(){System.out.println("Father");}privatevoidhello(){System.out.println("hello");}publicvoidsayHello(){System.out.println(thisinstanceofSon);this.hello();}}publicclass

Python子类调用父类方法学习笔记

python和其他面向对象语言类似,每个类可以拥有一个或者多个父类,它们从父类那里继承了属性和方法.如果一个方法在子类的实例中被调用,或者一个属性在子类的实例中被访问,但是该方法或属性在子类中并不存在,那么就会自动的去其父类中进行查找. 继承父类后,就能调用父类方法和访问父类属性,而要完成整个集成过程,子类是需要调用的构造函数的. 子类不显式调用父类的构造方法,而父类构造函数初始化了一些属性,就会出现问题 如果子类和父类都有构造函数,子类其实是重写了父类的构造函数,如果不显式调用父类构造函数,父

子类调用父类方法的问题

问题描述 子类调用父类方法的问题 父类: package com.example.main;public class Parent { public void print(){ System.out.println(this); }} 子类: package com.example.main;public class Childer extends Parent { public static void main(String[] args) { new Childer().print(); }

java树的节点事件里调用repaint方法 不能实现重绘

问题描述 java树的节点事件里调用repaint方法 不能实现重绘 java树的节点事件里调用repaint方法 不能实现重绘 怎么解决......................... 解决方案 http://zhidao.baidu.com/link?url=_s3y58ND8LIk-TtWOqBE2sXSaX5vKISRuxgRbdlCvZ2TPcjjujnp85-84Xto3Pa3rh7GEZ8yJ5ctIOYQxF7wTq

Java 8中日期和时间的处理方法_java

Java 8新增了LocalDate和LocalTime接口,为什么要搞一套全新的处理日期和时间的API?因为旧的java.util.Date实在是太难用了. java.util.Date月份从0开始,一月是0,十二月是11,变态吧!java.time.LocalDate月份和星期都改成了enum,就不可能再用错了. java.util.Date和SimpleDateFormatter都不是线程安全的,而LocalDate和LocalTime和最基本的String一样,是不变类型,不但线程安全,

在java List中进行模糊查询的实现方法_java

比如我有下面这样一个List,里面存放的是多个Employee对象.然后我想对这个List进行按照Employee对象的名字进行模糊查询.有什么好的解决方案么? 比如我输入的查询条件为"wang",那么应该返回只包含employee1的List列表. List list = new ArrayList(); Employee employee1 = new Employee(); employee1.setName("wangqiang"); employee1.s

javascript中函数作为参数调用的方法_javascript技巧

本文实例讲述了javascript中函数作为参数调用的方法.分享给大家供大家参考.具体分析如下: 先来看示例: function Map(){ var obj = {}; this.put = function(key, value){ obj[key] = value; } this.eachMap = function(fn){ for(var attr in obj){ fn(attr, obj[attr]); } } } var m = new Map(); m.put('01', 'a