文档章节

多态

hx小鑫
 hx小鑫
发布于 2016/08/15 15:10
字数 416
阅读 4
收藏 0
点赞 0
评论 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
南京
程序员

暂无文章

Centos7通过yum安装nginx

添加源地址(直接install可能不是最新版本的) sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 安装 sudo yum install -y ng......

iplusx
4分钟前
0
0
ef .core Dapper Helper

using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Threading.Tasks; using Dapper; using Dap......

Lytf
6分钟前
0
0
iOS 小笔记

1.以下代码打印什么     __block int val = 10;    void (^blk)(void) = ^{        printf("val=%d\n",val);        };       val = 2;    blk(); /...

风了个1
8分钟前
0
0
【Spring Boot 系列 Spring Boot示例程序】

入门程序步骤,创建一个Maven项目。继承Spring Boot官方提供的父工程。再引入一个Web的应用启动器。 1、选择一个合适的IDEA工具 创建一个Maven工程,并添加如下配置 <parent> <...

HansonReal
9分钟前
0
0
217. Contains Duplicate - LeetCode

Question 217. Contains Duplicate Solution 题目大意:判断数组中是否有重复元素 思路:构造一个set,不重复就加进去,重复返回true,如果数据量大的话,可以用布隆过滤器 Java实现: publ...

yysue
13分钟前
0
0
istio 处理失败 (理论)

Envoy提供了一套开箱即用的选择加入故障恢复功能,可以通过应用程序中的服务进行利用。功能包括: 超时 具有超时预算和重试之间的可变抖动的有界重试 限制并发连接数和对上游服务的请求 对负...

xiaomin0322
14分钟前
0
0
eclipse解决git冲突举例

本地修改了两个文件,提交时提示有冲突,想来应该是没有从远程仓库下载最新代码导致的。通过右击项目 -> Team -> Sychronized WorkSpace,比较本地仓库和远程仓库的异同:   此时没有更好的...

Code辉
23分钟前
0
0
运行.jar后缀的文件

前提必须安装了jdk,正确配置环境变量。 在dos窗口执行以下命令即可。 java -jar C:\Users\10492\Desktop\turn.jar

haha360
26分钟前
0
0
Java程序员如何做代码压力测试?【JWordPress前台项目实战】

代码 pom.xml文件引入包 <dependency><groupId>com.taobao.stresstester</groupId><artifactId>stresstester</artifactId><version>1.0</version></dependency> 编写测试代码 /**......

迷你芊宝宝
30分钟前
0
0
面试宝典-什么是缓存穿透?

缓存穿透是说收到了一个请求,但是该请求缓存里没有,只能去数据库里查询,然后放进缓存。 这里面有两个风险,一个是同时有好多请求访问同一个数据,然后业务系统把这些请求全发到了数据库;...

suyain
36分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部