java类中的重写标识有什么用啊_Java中的重载与重写有什么区别?

方法重载是指同一个类中的多个方法具有相同的名字,但这些方法具有不同的参数列表,即参数的数量或参数类型不能完全相同

class OverloadingMethod{

void get(int i){

System.out.println("get one int data");

System.out.println("i="+i);

}

void get(int x,int y){

System.out.println("get two int datas");

System.out.println("x="+x+"/t"+"y="+y);

}

void get(double d){

System.out.println("get one double data");

System.out.println("d="+d);

}

void get(String s){

System.out.println("get a string");

System.out.println("s="+s);

}

}

public class OverloadingTest{

public static void main(String [] args){

OverloadingMethod mo=new OverloadingMethod();

mo.get(1);

mo.get(2,3);

mo.get(4.5);

mo.get("a string");

}

}

方法重写是存在子父类之间的,子类定义的方法与父类中的方法具有相同的方法名字,相同的参数表和相同的返回类型

注:

(1)子类中不能重写父类中的final方法

(2)子类中必须重写父类中的abstract方法

class Student{

String name;

int age;

int number;

public void getDetail(){

System.out.println("name:"+name+"/n"+"age:"+age);

}

}

class GraduateStudent extends Student{

int number;

String mentorName;

public void getDetail(){ //重写了父类的方法

System.out.println("name:"+name+"/n"+"age:"+age);

System.out.println("his mentor is:"+mentorName);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
重写重载都是 Java 的重要概念,它们都涉及到方法的定义和使用。 重写(Override)是指在子类中定义一个与父类中同名、同参数列表、同返回类型的方法,并且使用 `@Override` 注解标识。子类中的方法会覆盖父类中的同名方法,实现多态性。重写的方法可以使用 `super` 关键字调用父类中的同名方法,也可以不调用。 例如: ```java class Animal { public void move() { System.out.println("动物在移动"); } } class Dog extends Animal { @Override public void move() { System.out.println("狗在奔跑"); } } ``` 上面的代码,`Dog` 类继承自 `Animal` 类,并重写了 `move()` 方法,实现了多态性。 重载(Overload)是指在一个类中定义多个同名方法,但是参数列表不同。Java 编译器会根据方法的参数列表和返回类型来区分不同的方法。重载的方法可以实现不同类型的参数处理,提高了代码的灵活性和复用性。 例如: ```java class Calculator { public int add(int x, int y) { return x + y; } public double add(double x, double y) { return x + y; } } ``` 上面的代码,`Calculator` 类中定义了两个同名方法 `add()`,但是参数列表不同,分别处理整型和浮点型参数。在调用时,Java 编译器会根据实际参数类型来选择调用哪个方法,实现了方法的重载。 总之,重写重载都是 Java 重要的概念,需要根据具体的需求来选择使用哪种方式。重写实现了多态性,重载提高了代码的灵活性和复用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值