接口与继承:方法覆盖(super)
源代码
//父类Parent
class Parent{
int x;
int y;
Parent()
{
x = ;
y = ;
}
public void Set(int a,int b)
{
x = a;
y = b;
}
}
//子类Child继承了Parent
class Child extends Parent{
int z;
Child()
{
super();//使用父类的构造方法初始化
z = ;
}
public void Set(int a,int b)//与父类相同的方法
{
x = a;
y = b;
z = a + b;
}
public void Show()
{
System.out.println("初始值");
System.out.println("x = "+ x +" y = " + y + " z = " + z);
System.out.println("调用父类的Set方法Set(1,2)");
super.Set(,);
System.out.println("x = "+ x +" y = " + y + " z = " + z); System.out.println("调用子类的Set方法Set(1,2)");
Set(,);
System.out.println("x = "+ x +" y = " + y + " z = " + z);
} } public class Test {
public static void main(String args[])
{
Child c = new Child();
c.Show();
} }
结果截图
Java“方法覆盖”的语法规则
(1)覆盖方法的允许访问范围不能小于原方法。
(2)覆盖方法所抛出的异常不能比原方法更多。
(3)声明为final方法不允许覆盖。 例如,Object的getClass()方法不能覆盖。
(4)不能覆盖静态方法
“方法覆盖(override)”的要点:
(1)方法覆盖要求子类与父类的方法一模一样,否则就是方法重载(overload)!
(2)在子类中,若要调用父类中被覆盖的方法,可以使用super关键字。
接口与继承:方法覆盖(super)的更多相关文章
- 20面向对象三特征 之继承 方法重写 super
继承是:多个类有重复内容,把重复内容放到一个新类中,就可以通过extends关键词去让原来的类和新类产生继承关系,子类只能拿到父类一部分信息.通过extends关键词去指明类与类之间的关系,一个父类可 ...
- C#接口多继承方法重名问题
最近实现一个功能需要继承两个接口,然而父类接口有这重名的方法,且方法实现一致.两个父接口均被多个子接口继承,并在类实例中实现.起初,我是通过new重名方法来实现我的功能调用.后被指正,在网上看了一个工 ...
- java继承方法覆盖
public class TestB { private void f() { System.out.println("TestB"); } public static void ...
- 【JAVA】笔记(4)---继承;方法覆盖;多态机制;super;
继承(extends): 1.作用:为方法覆盖和多态机制做准备:使代码得到复用(节省代码量): 2.格式: class 子类 extends 父类 3.理解继承:子类继承父类,其实就相当于把父类的类体 ...
- 继承 & super & 方法覆盖
简单继承 细节1: 细节2: 子类创建对象,先 父类构造器,后 子类的构造器,因为(默认的super) 细节3: 假设父类只有一个有参构造器, 此时需要子类用上super给定父类参数,才能通过编译 ...
- 继承extends、super、this、方法重写overiding、final、代码块_DAY08
1:Math类的随机数(掌握) 类名调用静态方法. 包:java.lang 类:Math 方法:public static double random(): Java.lang包下的类是不用导包就可 ...
- 实习第一周第一天:接口 extends是继承类,implement是实现接口,原接口里面的方法填充,方法名也是不变,重写override是父类的方法名不变,把方法体给改了
一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...
- javaSE练习13——(知识点:类的继承 方法的覆盖)
设计2个类,要求如下: (知识点:类的继承 方法的覆盖)1.定义一个汽车类Vehicle, 1.1 属性包括:汽车品牌brand(String类型).颜色color(String类型 )和速度spee ...
- 【转载】JAVA中线程的两种实现方法-实现Runnable接口和继承Thread类
转自: http://blog.csdn.net/sunguangran/article/details/6069317 非常感谢原作者,整理的这么详细. 在java中可有两种方式实现多线程,一种是继 ...
随机推荐
- deep learning RNN
specialize vi. 专攻;特化;专门从事;详细说明 vt.使专门化;使适应特殊情况;详细说明;列举 generalize across vt.& vi.概括,归纳;推广,普及;使 ...
- 免app下载笔趣阁小说
第一次更新:发现一个问题,就是有时候网页排版有问题的话容易下载到多余章节,如下图所示: 网站抽风多了一个正文一栏,这样的话就会重复下载1603--1703章节. 解决办法: 于是在写入内容前加了一个章 ...
- anaconda 的安装
进官网下载anaconda, 根据需要下载对应python版本Anaconda软件. https://www.anaconda.com/download/#windows 下载完双击 Anaconda ...
- JS拖拽div(移动)
<!doctype html><html><head> <meta charset="utf-8"> <title>JS ...
- 6th week blog(2)
fixed:元素将从常规文档流中删除,并且不会为页面布局中的元素创建任何空间.它的位置相对于初始位置.它允许框架样式布局.在页式媒体如打印输出中,一个固定元素会出现于第一页的相同位置.这可以用来创建一 ...
- html5 知识点简单总结03
table表格 ----基本结构 table默认无边框(border) <table border="数值"> <tr> <th>表头</ ...
- Unity 常用插件1
作者:Meta42链接:https://www.zhihu.com/question/29097415/answer/229015898来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...
- 几何概型 uva11722
#include<bits/stdc++.h> using namespace std; int t1,t2,s1,s2,w; int get(int b) { ; int d=s2-s1 ...
- rapid7/metasploitable3 CTF摘要
rapid7/metasploitable3 俗话说,没图说个JB.我专门做了个图以供欣赏,做图技术可能有点糙,见谅见谅. 2016年11月,rapid7发布了metasploitable3,以后简称 ...
- CentOS7查看和关闭防火墙
CentOS 7.0默认使用的是firewall作为防火墙 1.查看防火墙状态 firewall-cmd --state2.停止firewall systemctl stop firewalld.se ...