文档章节

多态

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
南京
程序员
私信 提问

暂无文章

BCryptPasswordEncoder加密工具类

Spring Security 提供的 BCryptPasswordEncoder 加密算法进行加密 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;/** * <p> * BCryptPasswordEncoder加......

秋至丶枫以落
13分钟前
0
0
在 Linux 上使用 tarball

Tarball 提供了一种在 Linux 系统上备份和管理一组文件的通用方法。请按照以下提示了解如何创建它们,以及从中提取和删除单个文件。 “tarball” (LCTT 译注:国内也常称为“tar 包”)一词...

Linux就该这么学
28分钟前
2
0
2018年AI和ML(NLP、计算机视觉、强化学习)技术总结和2019年趋势(上)

摘要: 回顾2018,展望2019,计算机科学技术继续前进! 1、简介: 过去几年一直是人工智能爱好者和机器学习专业人士最幸福的时光。因为这些技术已经发展成为主流,并且正在影响着数百万人的生...

阿里云官方博客
32分钟前
4
0
UnsatisfiedLinkError sawindbg.dll

方法:搜索sawindbg.dll,然后将文件报错的目录下

洛水
34分钟前
2
0
说说不知道的Golang中参数传递

本文由云+社区发表 导言 几乎每一个C++开发人员,都被面试过有关于函数参数是值传递还是引用传递的问题,其实不止于C++,任何一个语言中,我们都需要关心函数在参数传递时的行为。在golang中...

腾讯云加社区
34分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部