java之重载和重写<一>

本文详细解释了Java中的重载与重写概念,包括它们的基本要求、区别及应用示例。通过实例深入理解如何在类中实现重载与重写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,重载:

基本要求:在一个类中,函数名相同,参数列表不同

二,复写(Override):又叫重写或者覆盖,它要求满足以下两个条件:

(1)在具有父子关系的两个类当中

(2)父类和子类各有一个函数,这两个函数的定义(返回值类型,函数名,参数列表)完全相同;

附注:另有说法,说是返回类型必须和被重写函数的返回类型相同或是返回类型的子类型。

三,举例:

(1)重载:

 class Person{

String name;

int age;

Person(){

System.out.println("我是没有参数的重载函数");

}

Person(String name){

System.out.println("我是只有一个参数的重载函数");

}

Person(String name , int age){

this.age = age;

this.name = name;

System.out.println("我是有两个参数的重载函数");

}

}


(2)重写:

父类:

class Person {

.....//其它代码

//存在成员方法1

public void introduce(){

System.out.println("我是父类");

}

//方法2

public void Me(String name , int age){

.....//其它代码

//存在成员方法1

public void introduce(){

System.out.println("我是父类");

}

//方法2

public void Me(String name , int age){

.....//其它代码

//存在成员方法1

public void introduce(){

System.out.println("我是父类");

}

//方法2

public void Me(String name , int age){

this.name = name;

this.age = age;


    System.out.println("我的名字是:" + name  + "年龄:" + age);

}


子类:继承父类

class Student extends Person{



.....//其它代码

//存在成员方法1

public void introduce(){

System.out.println("我是子类,重写了父类"); //也可以不写这行

//其它代码

}

//方法2

public void Me(String name , int age){//这里要一样,函数定义要一样

this.name = name;

this.age = age;

    System.out.println("我的名字是:" + name  + "年龄:" + age); //内容可以不同,这行可以去掉

//添加自己的代码

}

}


.....//其它代码

//存在成员方法1

public void introduce(){

System.out.println("我是父类");

}

//方法2

public void Me(String name , int age){

    System.out.println("我的名字是:" + name  + "年龄:" + age);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值