类的方法重载,重写以及构造方法。

Opal ·
更新时间:2024-09-20
· 592 次阅读

**

方法重载

**
概念 : 方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数

public class OverloadTest01{ //定义一个方法,计算两个int 类型的和 public static int sumInt(int a,int b){ return a + b; } //定义一个方法,计算两个double 类型的差 public static double sumDouble(double a,double b){ return a - b; } //定义一个方法,计算两个long 类型的 乘积 public static long sumlong(long a,long b){ return a * b; } public static void main(String[] args){ //创建一个对象 OverloadTest01 s1 = new OverloadTest01(); s1.sumInt(21,23);//给参数赋值 ,注意必须符合类型 System.out.println("两个int 类型的和 :" + s1.sumInt(21,23)); //输出结果 s1.sumDouble(3.0,5.0); System.out.println("两个double 类型的差 :" + s1.sumDouble(3.0,5.0)); s1.sumlong(1L,2L); System.out.println("两个long 类型的 乘积 :" + s1.sumlong(1L,2L)); } } #程序员调用的时候比较方便,不用记那么多方法名。

参数列表不同 :
数量不同
顺序不同
类型不同

public class OverloadTest02{ //构成方法重载 public static void sum(int a,double b){} public static void sum(double a,int b){} //构成方法重载 public static void sum2(int a){} public static void sum2(double a){} //构成方法重载 public static void sum3(int a){} public static void sum3(){} public static void main(String[] args){ sum(1,1.0); sum(1.0,1); ...... } }

**

方法重写

**
:在Java和其他一些高级面向对象的编程语言中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。(重写又称 override 必须在继承关系的父子类中)

什么时候使用方法重写?
当继承父类的子类不想原封不动的继承父类方法的时候,这时候就需要用到方法的重写。

代码演示如下
(建立animal类 cat类 bird 类 通过展示他们的关系来描述方法重写 )

```java public class Animal{ //定义一个方法,买描述动物的移动 public static void move(){ System.out.println("动物在行走") } } //继承用extends关键字 //格式为 : 【访问权限修饰符】class 子类 extends 父类 public class Cat extends Animal{ //定义一个方法,买描述动物的移动 public static void move(){ System.out.println("小猫在爬行") } }`` public class Bird extends Animal{ //定义一个方法,买描述动物的移动 public static void move(){ System.out.println("小狗在跑步") } } public static void main(String[] args){ Animal a = new Animal(); a.move(); Cat c = new Cat(); c.move(); Dog d = new Dog(); d.move(); }

重写的时候,子类与父类的方法名,返回值类型,参数列表必须相同,注意大小写,访问权限可以更高,不能更低。

构造方法

构造方法是一种特殊的方法,它是一个与类同名的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。
构造方法的语法
【修饰符列表】构造方法名(形参列表){
构造方法体;
}
无返回值 不能写void
普通方法的语法
【修饰符列表】构造方法名 返回值类型(形参列表){
普通方法体;
}
当一个类中没有构造方法的时候,系统会默认给你提供一个构造方法,称为缺省构造器。

public class Person{ int age; String name; String address; double score; public Person(int age,String name ,String address,double score){ //向构造方法里面传递参数 this.age = age; this.name = name; this.address = address; this.score = score; //this 指这个类里面的变量 } public boolean asd(String aName,int aAge){ if(name == aName && age == aAge){ return true; }else { return false; } } public static void main(String[] args){ //创建对象 //调用构造方法完成对象的创建 Person zhangsan = new Person(18,"张三","武汉",90); Person lisi = new Person(20,"李四","广州",90); boolean ge = zhangsan.asd(zhangsan.name,zhangsan.age); if(ge){ System.out.println(zhangsan.name+"注册了"); }else{ System.out.println(zhangsan.name+"没有注册"); } boolean ge1 = lisi.asd("李四",lisi.age); if(ge1){ System.out.println(lisi.name+"注册了"); }else{ System.out.println(lisi.name+"没有注册"); } } }

以上就是今天的内容,下次见。
2020. 04 . 01


作者:我是小马猿



重载 重写 方法 构造方法 方法重载

需要 登录 后方可回复, 如果你还没有账号请 注册新账号