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