文档章节

多态

hx小鑫
 hx小鑫
发布于 2016/08/15 15:10
字数 416
阅读 4
收藏 0

多态概述

**继承:**一个一无所有的可以从他的父亲那里得到一些东西如资产,

**重写:**在继承父亲的资产后,可以按照自己的方式管理这些资产,改变以前父亲的操作方式,

**重载:**当然也可以使用与父亲相同的操作方式管理这些资产,但只要通过整合相关资源,就可以产生完全不同的成果

重写

新建以前School类作为父类

class School{
	String sname;
	int sid;
	int snumber;
	public School(String sname, int sid, int snumber) {
		super();
		this.sname = sname;
		this.sid = sid;
		this.snumber = snumber;
	}
	
	void print(){
		System.out.println("学校名是:"+sname+",序号是:"+sid+",人数为"+snumber);
	}
}

新建一个School1继承School,使用super调用父类中的构造器,并重写print方法

class School1 extends School{
	
	String sadder;

	public School1(String sname, int sid, int snumber,String adder) {
		super(sname, sid, snumber);
		this.sadder=adder;
	}
	void print(){
		System.out.println("学校名是:"+sname+",序号是:"+sid+",人数为"+snumber+
				",地址是:"+sadder);
	}
}
public class SchoolTest {

	public static void main(String[] args) {
		
		School1 sc1=new School1("南京大学", 11, 22, "中山");
		sc1.print();
	}

}

重载

新建一个Student类,定义print方法,具有相同方法名而参数不同

class Student{
	String name;
	int age;
	void print(){
		System.out.println("姓名:"+name+"年龄:"+age);
	}
	
	void print(String name1,int age1){
		System.out.println("姓名:"+name1+"年龄:"+age1);
	}
	
	void print(String name2,int age2,int id){
		System.out.println("姓名:"+name2+"年龄:"+age2+"学号:"+id);
	}
	
	void print(String name3,int age3,int id3,double a){
		
		System.out.println("姓名:"+name3+"年龄:"+age3+"学号:"+id3+"成绩:"+a);
		
	}
}

定义ClassTest测试类

public class ClassTest {

	public static void main(String[] args) {
		Student stu=new Student();
		stu.name="tom";
		stu.age=66;
		stu.print();
		stu.print("tom1",77);
		stu.print("tom2",88,1);
		stu.print("tom3",99,2,100);
	}
}

© 著作权归作者所有

共有 人打赏支持
hx小鑫
粉丝 5
博文 16
码字总数 7087
作品 0
南京
程序员

暂无文章

ZOOKEEPER安装记录

本文借鉴了链接的内容,但是有几部分需要注意: 下载zookeeper的位置是:连接; 执行这两部,得再root下,sudo不能用,还不知道为啥。

恰东
3分钟前
0
0
解决你的无线路由器被蹭网烦恼

教你几招提高无线路由器的安全性-再也不用担心蹭网了。随着无线网络的普及,无线网络的安全问题越来越严重。本文教你几招提高家用无线路由器的安全性,再也不用担心蹭网了。 随着无线网络的普...

linuxprobe16
8分钟前
0
0
分布式系统消息中间件—RabbitMQ的使用进阶篇

前言: 这篇文章主要总结一下RabbitMQ在日常项目开发中比较常用的几个特性。 一。 mandatory 参数 上一篇文章中我们知道,生产者将消息发送到RabbitMQ的交换器中通过RoutingKey与BindingKey的...

Java干货分享
8分钟前
0
0
RabbitMQ清除队列中的所有消息

最近在研究 RabbitMQ 消息队列,安装好进行测试的时候发觉在一个名为 MyRabbitMQ 的消息队列中已经插入了大量的数据。 最后不得不找方法清除。 linux或者windows 输入命令: rabbitmqctl li...

覃大光
12分钟前
0
0
java equals和==的区别

public class StaticDemo { public static void main(String[] args) { /** * 1、包装类的“==”运算在未遇到算术运算的情况下不会自动拆箱(堆中存储的地址是否相同,即栈中的内容是否相同)...

恋码之子
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部