1、父类

  package com.wyq.study;

  public class Father{//书写类

  //书写属性

  private String name;

  private int age;

  //提供共有的取值赋值方法

  public void setName(String name){

  this.name = name;

  }

  public String getName(){

  return name;

  }

  public void setAge(int age){

  if(age<0||age>100){

  System.out.println("年龄输入有误,请重新输入。");

  this.age = 1;

  }else{

  this.age = age;

  }

  }

  public int getAge(){

  return age;

  }

  //书写无参构造方法

  public Father(){

  System.out.println("这里是Father的无参的构造方法");

  }

  public Father(String name,int age){

  this.name =name;

  this.setAge(age);

  System.out.println("这里是Father的带参的构造方法,参数分别是:"+this.name+"\t"+this.getAge());

  }

  //书写普通方法

  public void speak(String language,String work){

  System.out.println("这里是父类Father普通方法的测试:其参数为:"+language+"\t"+work+"\t"+this.name+"\t"+this.getAge());

  }

  }

  注意父类的speak方法

  2、再写子类

  package com.wyq.study;

  public class Son extends Father{

  //属性

  private String schoolName;

  private int clazz;

  //属性私有化

  public void setSchoolName(String schoolName){

  this.schoolName = schoolName;

  }

  public String getSchoolName(){

  return schoolName;

  }

  public void setClazz(int clazz){

  if(clazz<0||clazz>10){

  System.out.println("班级的输入有误。");

  this.clazz = 5;

  }else

  this.clazz = clazz;

  }

  public int getClazz(){

  return clazz;

  }

  //无参构造

  public Son(){

  super();

  System.out.println("这里是son类的无参构造");

  }

  public Son(String name,int age,String schoolName,int clazz){

  super( name, age);

  this.schoolName = schoolName;

  this.setClazz(clazz);

  System.out.println("这里是son类的带参构造"+"\t"+super.getName()+"\t"+super.getAge()+"\t"+this.getSchoolName()+"\t"+this.schoolName+"\t"+this.getClazz());

  }

  //书写普通方法无锡人流医院:http://www.bhnfkyy.com/

  public void study(String course){

  System.out.println("正在学习"+course+"\t"+this.schoolName+"\t"+this.getClazz());

  }

  @Override

  public void speak(String language, String work) {

  super.speak(language, work);

  System.out.println("这里是重写子类Son的测试,参数为:"+super.getName()+"\t"+super.getAge()+"\t"+this.getSchoolName()+"\t"+this.getClazz());

  }

  }

  3、再写测试类

  package com.wyq.study;

  public class TestSon {

  public static void main(String[] args) {

  Son s = new Son();//调用子类的无参构造

  Son so = new Son("张三",20,"北京大学",2);

  so.study("计算机");

  System.out.println(so.getName()+"\t"+so.getAge()+"\t"+so.getSchoolName()+"\t"+so.getClazz());

  so.speak("python", "码农");

  System.out.println("************************");

  Father f = new Father("王五",-10);

  f.speak("C语言", "工人");

  }

  }

  4、测试结果

  这里是Father的无参的构造方法

  这里是son类的无参构造

  这里是Father的带参的构造方法,参数分别是:张三 20

  这里是son类的带参构造 张三 20 北京大学 北京大学 2

  正在学习计算机 北京大学 2

  张三 20 北京大学 2

  这里是父类Father普通方法的测试:其参数为:python 码农 张三 20

  这里是重写子类Son的测试,参数为:张三 20 北京大学 2

  ************************

  年龄输入有误,请重新输入。

  这里是Father的带参的构造方法,参数分别是:王五 1

  这里是父类Father普通方法的测试:其参数为:C语言 工人 王五 1

  5、总结

  1)继承:先写父类,再写子类;可以继承父类非private属性,可以继承父类非private方法;对于父类的构造方法,子类可以调用,但是不能继承。继承使用的关键字是extends

  2)最左侧有"绿色"的实心三角,说明这个方法是重写父类中的方法,方法上会有@的注解

  3)方法的重写

  ①在子类

  ②方法的名称必须与父类的方法名称相同

  ③子类所继承的方法的必须与父类该方法的参数类型、顺序、个数完全相同

  ④子类重写方法的返回值类型必须与父类方法的返回值类型相同,或者与父类的子类的方法返回值类型相同。

方法的重写【java语言】的更多相关文章

  1. iOS—网络实用技术OC篇&网络爬虫-使用java语言抓取网络数据

    网络爬虫-使用java语言抓取网络数据 前提:熟悉java语法(能看懂就行) 准备阶段:从网页中获取html代码 实战阶段:将对应的html代码使用java语言解析出来,最后保存到plist文件 上一 ...

  2. iOS开发——网络实用技术OC篇&网络爬虫-使用java语言抓取网络数据

    网络爬虫-使用java语言抓取网络数据 前提:熟悉java语法(能看懂就行) 准备阶段:从网页中获取html代码 实战阶段:将对应的html代码使用java语言解析出来,最后保存到plist文件 上一 ...

  3. Java 语言的 XPath API

    如果要告诉别人买一加仑牛奶,您会怎么说?"请去买一加仑牛奶回来" 还是 "从前门出去,向左转,走三个街区向右转,再走半个街区向右转进入商店.走向四号通道,沿通道走五米向左 ...

  4. day04<Java语言基础+>

    Java语言基础(循环结构概述和for语句的格式及其使用) Java语言基础(循环结构for语句的练习之获取数据) Java语言基础(循环结构for语句的练习之求和思想) Java语言基础(循环结构f ...

  5. IT兄弟连 Java语法教程 Java语言的其他特性

    Java语言中除了非常重要的跨平台特性外,还有如下几个关键特性: ●  语法简单易学 Java语言的语法简单明了,容易掌握,而且是纯面向对象(OOP)的语言,Java语言的简单性主要体现在以下几个方面 ...

  6. 如何重写Java中的equals方法

    Java中,只有8种基本类型不是对象,例如:4种整形类型(byte, short, int,long),2种浮点类型(flout, double),boolean, char不是对象,其他的所有类型, ...

  7. Java中方法的重写

    ★★前提:方法的重写建立在继承关系上★★ 在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量. 所谓方法的重写是指子类中的方法与父类中继承 ...

  8. java语言复制数组的四种方法

    JAVA语言的下面几种数组复制方法中,哪个效率最高? B.效率:System.arraycopy > clone > Arrays.copyOf > for循环 1.System.a ...

  9. java 子类继承父类成员变量的隐藏、实现方法的重写

    成员变量的隐藏和方法的重写 Goods.java public class Goods { public double weight; public void oldSetWeight(double ...

随机推荐

  1. CI框架3.0版本以后,前后台分离的方法。

    笔者认为,CI框架官方其实并没有考虑这个前后台分离的问题,所以没有官方的分离方法.而且,2.0版本的分离,也被官方认为这是一个bug.所以在前后台分离这个问题上,其实并不如thinkphp框架. 在C ...

  2. C# 获取外网IP和运营商和城市

    /// <summary> /// 获取客户端外网IP,省份,城市,运营商 /// 2012年12月18日 15:07 /// </summary> public class ...

  3. swfupload原理总结

    1.引入js(js内动态添加上传的文件并提交表单) 2.后台处理(将图片保存) 3.调用另一个js修改前台图片的地址(改为新的图片地址)

  4. React入门看这篇就够了

    摘要: 很多值得了解的细节. 原文:React入门看这篇就够了 作者:Random Fundebug经授权转载,版权归原作者所有. React 背景介绍 React 入门实例教程 React 起源于 ...

  5. 使用Etherscan API通过区块号获取块及叔块奖励

    本文原文链接 点击这里获取Etherscan API 中文文档(完整版) 完整内容排版更好,推荐读者前往阅读. 区块(Blocks) 区块相关的 API,接口的参数说明请参考Etherscan API ...

  6. Nacos深入浅出(四)

    private void executeAsyncInvoke() { while (!queue.isEmpty()) { NotifySingleTask task = queue.poll(); ...

  7. linux设置重启

    crontab -e 0 6 * * * reboot service crond restart

  8. POJ 3299

    #include <iostream> #include "math.h" double e2h(double e) { return 0.5555*(e-10.0); ...

  9. 关系型数据库---MySQL---索引

    1.概述 参考资料:http://blog.codinglabs.org/articles/theory-of-mysql-index.html 1.1 索引的本质: MySQL官方对索引的定义:索引 ...

  10. git 本地新建分支Push到远程

    1. 本地新建分支,并切换到新的分支 git branch local_branch; git checkout local_branch; 2.第一条的命令也可以简单的一条命令来替代 git che ...