父类(Parent):
public class Parent { public String name = "parent 父类属性";
public void say(){
System.out.println("parent say被调用"+this.getClass());
}
}
子类(Child):
public class Child extends Parent { /**
* 属性只能被隐藏,不能被覆盖
*/
public String name = "child 子类属性"; public static void main(String[] args) {
Child c = new Child();//普通对象
c.say(); Parent p = new Child();//向上转型
p.say(); /**
* 当子类Child和父类Parent都有name属性时:
* c.name = child 子类属性
* p.name = parent 父类属性
* 当子类Child没有name属性,父类有该属性时:
* c.name = parent 父类属性
* p.name = parent 父类属性
*/
System.out.println("c.name = " + c.name);//c.name = child
System.out.println("p.name = " + p.name);//p.name = parent } /**
* 重写父类方法
*/
public void say(){//子类方法一
System.out.println("child say被调用"+this.getClass());
} /**
* 重载--子类方法一
* 当子类方法一不存在时, 子类方法二看起来就象是程序员有意覆盖 say() 的功能,
* 但对方法的类型定义却稍微有些不确切。
* 然而,编译器此时假定的是程序员有意进行“过载” ,而非“覆盖”。
*/
public void say(int s){//子类方法二
System.out.println("child say被调用"+this.getClass());
} /***
* 方法签名由方法名称和一个参数列表(方法的参数的顺序和类型)组成,
* 当定义两种或多种具有相同名称的方法时,就称作重载。
* 即重载时相同名称成员的参数列表是不相同的(参数顺序和类型)。
* 以下say2三个方法是重载的体现
*/
public void say2(){//子类方法三
System.out.println("child say2被调用");
} public void say2(int a){//子类方法四
System.out.println("child say2被调用");
} public int say2(String a){//子类方法五
System.out.println("child say2被调用");
return 0;
}
}
继承:

1.如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract (抽象)。否则,编译器会向我们报告一条出错消息。(注:是编译错误非运行错误)
2.如果从一个抽象类继承,而且想生成新类型的一个对象,就必须为基础类中的所有抽象方法提供方法定义。(即普通类继承抽象类时必须实现抽象类的抽象方法;如果不这样做,则衍生类也会是抽象的,而且编译器会强迫我们用 abstract 关键字标志那个类的“抽象”本质。)
3.即使不包括任何 abstract 方法,亦可将一个类声明成“抽象类”。

Java--重载与重写的更多相关文章

  1. java 重载、重写、构造函数详解

    方法重写 1.重写只能出现在继承关系之中.当一个类继承它的父类方法时,都有机会重写该父类的方法.一个特例是父类的方法被标识为final.重写的主要优点是能够定义某个子类型特有的行为. class An ...

  2. Java——重载和重写

    前言 在程序设计中经常会遇到对对方法的重载或者重写,下面将介绍重载和重写. 重载(Overloade) 重载出现的原因 任何程序设计语言都具备的一项重要特性就是对名字的运用.当创建一个对象时,就给对象 ...

  3. java 重载、重写、重构的区别

    1.重载 构造函数是一种特殊的函数,使用构造函数的目的是用来在对象实例化时初始化对象的成员变量.由于构造函数名字必须与类名一致,我们想用不同的方式实例化对象时,必须允许不同的构造方法同时存在,这就用到 ...

  4. 深入理解Java重载与重写

    我们都知道Java有三大宝,分别是:多态.封装.继承.其中多态主要体现就是重写与重载(有些人认为重载根本不属于多态)两种方式,那么今天就结合研读过JVM之后自己的理解来聊聊重载与重写的VM内部是怎么实 ...

  5. 一句话学Java——Java重载和重写

    概念:重载是指两个不同的函数有相同的名称,可以是在本类之中的函数之间的重载,也可以是子类和父类的函数之间的函数重载. 重写:只能是子类重写父类的函数.这是多态的基础. 重写的规则:     参数:重写 ...

  6. 漫谈java重载与重写

    重载(Overloading):为了让方法名相同而形参不同的构造方法同时存在,让类以统一的方式处理不同类型数据的一种手段 重写(Overriding):导出类对继承自基类的方法做出一定的修改,又称方法 ...

  7. java重载和重写的区别

    一.重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading是一个类中多态性的一种表现 ...

  8. java 重载与重写 【转】

    首先我们来讲讲:重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading是一个类中多态 ...

  9. java重载和重写

    重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading是一个类中多态性的一种表现. ...

  10. JAVA构造器,重载与重写

    1. java构造器 构造器也叫构造方法(constructor), 用于对象初始化. 构造器是一个创建对象时被自动创建的特殊方法,目的是对象的初始化. 构造器 的名称与类的名称一致. JAVA通过n ...

随机推荐

  1. Makfile文件编写

    一.make是什么 GNU make是一个工程管理器,专门负责管理.维护较多文件的处理,实现自动化编译.如果一个工程项目中,有成百上千个代码源文件,若其中一个或多个文件进过修改,make就需要能够自动 ...

  2. 从后台调用前台js

    引用: using System.Web.UI; ScriptManager.RegisterClientScriptBlock(this, GetType(), "Js", &q ...

  3. OOP的方法

    <?php class Computer{ //我要创建一个构造方法 public function __construct(){ echo '我是比较先进的构造方法!'; //构造方法一般用于 ...

  4. Eclipse Bug: Unhandled event loop exception No more handles

    我的解决方法如下: I had the same problem, turned out that TeamViewer was causing this. In your TeamViewer go ...

  5. ExceptionDemo

    功能: 利用struts.xml 捕获异常  不满足这三个值就报异常 1.web.xml <?xml version="1.0" encoding="UTF-8&q ...

  6. Struts2 stracture

  7. 忘记linux用户名和密码怎么解决?

    开机进入单用户模式,可跳过密码验证修改root密码. 具体步骤如下: 开机读秒时键盘上按回车 通过操纵键盘上下方向键选择系统版本,然后按下E 通过操纵键盘上下方向键选择kernel所在行,再次按下E进 ...

  8. Idea1.5使用Maven搭建Apache Spark1.6源码阅读环境

    1.插件安装,在Idea界面依次:File->settings->plugins,安装Maven 2.下载Spark1.6.2源码,这个在GitHub上下载,具体流程自己百度,很简单 3. ...

  9. JavaScript动态加载资源【js|css】示例代码

    在开发过程中会用到各种第三方的插件,或者自己写在单独文件中的js方法库或者css样式,在html头部总是需要写一大堆的script和link标签,如果想要自己实现动态的引入资源文件,可以使用开源的re ...

  10. HDU 1248 寒冰王座

    完全背包 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...