父类调用子类的方法java(java子类继承父类 ,父类调用子类的属性和方法吗)

本文目录
- java子类继承父类 ,父类调用子类的属性和方法吗
- java中创建父类对象可以调用子类的构造方法吗
- java 中父类可以调用子类构造方法吗为什么
- JAVA父类的对象能不能调用子类的方法
- java继承,关于父类与子类方法调用的问题
- Java 中父类怎么调用子类的方法
- java 子类重写了一个方法,如何在父类中调用
- java父类对象可以调用子类独有的方法吗
- java指向子类的父类对象到底能不能调用子类的方法
- java中指向父类的对象可以调用子类的方法吗
java子类继承父类 ,父类调用子类的属性和方法吗
父类不能调用子类的方法,子类方法是在子类中扩展出来的,而不是从父类继承而来的,但如果是覆盖父类方法,父类就可以调用。给你一个例子吧:
public class A {
public void a();
}
public class B extends A {
@Override
public void a();
public void b();
}
在这个例子中,B可以调用方法a()和b(),但A只可以调用方法a()。
java中创建父类对象可以调用子类的构造方法吗
不能,因为子类的方法对父类不可见!父类调用子类的方法只能是在父类里构造子类的对象,通过对象来调用!
如果子类的是静态方法,那么直接拿类调用!
java 中父类可以调用子类构造方法吗为什么
应该是不行的,你考虑下,父类如果不止一个子类,那么要调用子类的构造的时候,如何明确是哪个子类的构造呢?
JAVA父类的对象能不能调用子类的方法
把父类对象强转成子类可以调用子类方法
如果你是实例化子类,赋值给父类那么,你的父类强转成子类即可调用子类方法
如果你没实例化过子类,直接父类强转的话,转出来子类的所有属性都是初始值
java继承,关于父类与子类方法调用的问题
因为父类里没有关于long的方法 所以调用不到子类的方法 Int是因为父类里有 而子类复写了
调用double是因为那两个能互换 你可以再加一个long的方法 就会正常了 或者你可以把父类里的double方法删除掉 编译器就会提示“类型 TwoThree 中的方法 f(int)对于参数(long)不适用”
新手 那里说错了了望指教
Java 中父类怎么调用子类的方法
把子类传递到父类的有参构造中,然后调用。
使用反射的方式调用,你使用了反射还有谁不能调用的
父类调用子类的静态方法。
java 子类重写了一个方法,如何在父类中调用
java子类继承父类、方法的重写(覆盖)在程序中,如果想声明一个类继承另一个类,需要使用extends关键字。格式:class子类 extends父类
java父类对象可以调用子类独有的方法吗
可以的,要子类重写父类方法
package disruptor.demo2;
/**
* Created by hcq on 2017/6/1.
*/
public abstract class Father {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void sysf() {
sysout();
}
public abstract void sysout();
}
这个是父类,注意sysout()是虚拟方法
package disruptor.demo2;
/**
* Created by hcq on 2017/6/1.
*/
public class Son extends Father {
@Override
public void sysout() {
System.out.println(getName());
}
}
这个是子类重写了父类的sysout()方法
package disruptor.demo2;
/**
* Created by hcq on 2017/6/1.
*/
public class SonTest {
public static void main(String args) {
Father father = new Son();
father.setName("123");
father.sysf();
father.sysout();
}
}
这个是测试类,首先对象一定是子类的对象,子类没有的方法调用父类的,父类调子类的方法要先定义一遍
java指向子类的父类对象到底能不能调用子类的方法
你这个问题你问的没有太明确,我来大概解释一下吧。
首先你要知道多态的概念,有编译时多态(前期绑定),还有运行时多态(后期绑定),注意:C语言中只有编译时多态,但是java两者都有,java中除了static方法和final方法,其他所有的方法都是后期绑定,类成员变量也是前期绑定的,如果你对java的类初始化顺序有所了解就会明白,所以我们写程序的时候不必去指定是否应该去进行后期绑定,它是自动进行的
注意只有普通方法才可以是多态的,java中类的final方法,static方法,类成员变量,都是在编译的时候已经确定的,如果用父类引用指向子类对象,那么你可以自行代码测试,结论如下:
1.通过父类引用调用子类中重写父类的方法,那么会调用子类的重写方法,
2.通过父类引用调用子类中独有的方法,那么必须把父类引用强制转化成子类类型的引用才能进行调用。
3.通过父类引用调用子类重写父类的静态方法(子类中的这个方法和父类中的这个方法返修饰符,返回类型,方法名,参数列表完全相同,假定认为静态方法也可以重写吧),通过父类引用调用静态方法,不会有多态的特征,调用的还是父类的静态方法,因为java中静态方法和类是绑定的,而不是和单个对象绑定的。
4.通过父类引用调用子类和父类中同名的public变量,那么调用的是父类的成员变量,因为当子类对象转型为父类引用的时候,访问局部变量的操作都由编译器解析,因此不是多态的。子类对象中包含了两个同名的public变量(debug的时候你会看到子类对象中有两个变量),他自己的和他从父类得到的,所以通过父类引用指向子类对象而调用父类和子类同名的public 变量,那么会调用父类的public变量,而不是子类的public变量,因为是前期绑定,编译时候已经确定了调用哪一个,而不是通过父类引动态地选择用到底该调用哪一个变量。
反正记住一点,如果父类引用指向了子类对象,那么通过父类引用调用子类重写父类的普通方法,那么可以直接调用,如果通过父类引用调用子类独有的方法那么就得强制转换。
java中指向父类的对象可以调用子类的方法吗
不可以,没有为什么,从来没有这种用法,语法上是不允许的。
理由很简单啊,父类可以有无穷多个子类,父类对象不可能知道你想调用的是哪个子类对象的方法

更多文章:
asp是什么检查项目(医院血液检验项目RPR、TPPA、HIV-Ab各是什么意思)
2026年10月11日 10:20
汇编输出指令(用汇编语言循环指令在屏幕中间输出红底白字的“hello I am 720“)
2026年10月11日 07:20
本地搭建springboot项目(使用eclipse构建springboot项目)
2026年10月11日 06:20
java入门神器好用吗(java 7入门经典适合初学者自学用吗)
2026年10月11日 02:40
unix文件系统采用(Unix采用树形文件系统,其中“树形文件系统”什么意思)
2026年10月11日 00:50
数据可视化界面(FineBI的数据可视化组件设置界面分为哪些区域,错误的是)
2026年10月10日 22:20
matlab2017和2018哪个好(发现matlab2018a占内存较多,下载了2016a的版本,这两个版本有什么不一样的区别吗)
2026年10月10日 21:10





