java 实例化是调用了子类重写方法
java 实例化时调用了抽象方法或者class里面某个方法,如果子类有重写改方法,实际运行的是子类重写方法
package auto.test; //抽象父类
public abstract class Father {
public Father() {
// TODO Auto-generated constructor stub
oupPut(); //实例化时调用,子类有,就调用子类方法,子类没有,就调用父类方法
}
//父类抽象方法,让子类重写
public void oupPut(){
System.out.println("from Father class");
};
}
//子类A
class ChildA extends Father{
//重写父类方法
@Override
public void oupPut(){
System.out.println("from childA class");
}
}
// 子类B
class ChildB extends Father {
//重写父类方法
@Override
public void oupPut(){
System.out.println("from childB class");
}
}
class ChildC extends Father {
//没有重写父类方法 } 执行测试类
public class TestClaass { public TestClaass() {
// TODO Auto-generated constructor stub
}
public static void main(String arg[]){
Father a = new ChildA();
Father b = new ChildB();
Father c = new ChildC();
}
}
运行结果:
from childA class
from childB class
from Father class
java 实例化是调用了子类重写方法的更多相关文章
- java父类调用被子类重写的方法
[转][原文] 1.如果父类构造器调用了被子类重写的方法,且通过子类构造函数创建子类对象,调用了这个父类构造器(无论显示还是隐式),就会导致父类在构造时实际上调用的是子类覆盖的方法(你需要了解jav ...
- “全栈2019”Java异常第十一章:重写方法时只能抛出父类异常子集
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- “全栈2019”Java第四十八章:重写方法Override
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- java通过反射调用有参数的方法
public static void eachCfg(Class Initclass,String taskType){ Field[] fields = Initclass.getDeclaredF ...
- Java程序中调用Python脚本的方法
在程序开发中,有时候需要Java程序中调用相关Python脚本,以下内容记录了先关步骤和可能出现问题的解决办法. 1.在Eclipse中新建Maven工程: 2.pom.xml文件中添加如下依赖包之后 ...
- java通过反射调用不同参数的方法
import java.lang.reflect.Method; public class testReflect { /** * @param args */ public static void ...
- java利用反射调用类的某个方法
java利用反射机制 可以动态调用某个类的某个方法,在 扩展系统功能或提供对外接口时经常用的到. 代码如下: 打印类Print.java package com.test.reflct; /** * ...
- Java Tomcat 中调用.net DLL的方法
近日一个java的项目,客户要求项目中必须使用其提供的加密机制,扔给了两个.net写的DLL.网络上搜了一圈也没找到啥东西,甚至看到人扬言此事绝无可能.郁闷当中考虑了一个思路.用C#做一个Com,调用 ...
- Generate PDF in Sourcing through concurrent request,在EBS java并发中调用指定am的方法
package oracle.apps.pon.printing.cp; import java.io.InputStream; import java.io.FileOutputStream; im ...
随机推荐
- Android原理揭秘系列之一动态墙纸
Livewallpaper,即动态墙纸,是Android的一大3D特色功能,用户可以在桌面选择加载动态墙纸,让自己的手机桌面背景旋动起来. 相对于静态桌面壁纸,动态墙纸可以展示各种动态变化的背景,而与 ...
- Java和C#中String直接赋值与使用new创建(==与equals进行比较)的区别
在Java中,字符串可以直接赋值或者使用new来新建,直接赋值的话是编译阶段(.class文件)中就将该字符串值放到常量池中,以后如果有其他变量直接赋予同样的值的话就不再分配内存空间,而是直接给它个引 ...
- CentOS6.x升级MySQL版本号5.1到5.6
有一些虚拟机.云主机提供商仍然使用的是老版本号的安装套件. 预装的应用软件版本号非常低. 比方 techbrood.com 使用的云server,当中MySQL预装版本号为老版本号5.1.x. 而最新 ...
- Android:Service的非绑定式的创建和生命周期
Android的Service若使用非绑定式的创建,则创建后将无法再与它取得联系.即无法传递消息參数等: 所以假设希望创建后仍然与其存在联系,那么能够參考我的前几篇博客<Android:Serv ...
- Mindset + Know-how+Concepture + Methodology+Technology
在做成都专案过程中深刻体会到一个IT全才应该具备Domain Know-how,拥有正确地理念是十分重要的, 我想只能是某几个领域,专案管理,专案运行中的各种手法,即Methodology,最后才是K ...
- web笔记
application: 在tomcat启动过程,会将所有的应用加载进来,会为每一个应用创建一个application对象.这个对象是唯一.但是所有的web应用是互不影响的. like模糊查询 重定向 ...
- vs2013+EF6+Mysql
1.首先需要在整个项目中添加一个Model类库,在类库中引用EF 我需要在该项目下添加EF的MYSQL对象实体 首先需要引入几个相关引用,我通过NuGet来添加,如下图 接下来我需要通过ADO.NET ...
- list类型for遍历
package cn.stat.p9.map.demo; import java.util.ArrayList; public class Listfor { /** * @param args */ ...
- Java学习笔记(2):jdk的配置
配置Java的开发环境 先说明一下,我的jdk文件目录是:D:\language\java\java soft\jdk1.6 JDK的安装与配置 解压“开发软件”中的jdk1.6.rar(解压版)到D ...
- SQL Server 2005无法远程连接的解决方法
以前一直连接本地的数据库,连接SQL Server 2005是小菜的... 做项目也是老师搭好了服务器端,打上IP去访问就行...也不用考虑太多. 今天自己在公司搭SQL Server 2005服务器 ...