JAVA 方法(方法的重载、方法的继承)

目录

方法

导入参数可以有多个

返回多个参数

方法的重载 

方法的继承


方法

一个方法分为访问修饰符,关键字,返回类型,方法名,以及导入参数

示例

public static void main(String[] args) {}

解释:其中public是访问修饰符,static是关键字,void是返回类型,main是方法名,args是导入参数字符串数组

导入参数可以有多个

示例

public static boolean equals(int a,int b) {return a==b;}

解释:这个方法中导入了两个参数,返回一个boolean类型参数

返回多个参数

封装一个类,例如创建一个人类

public static class Person{}

这个人类中有两个属性,一个是年龄,一个是性别,我们分别用int类型和String储存
 

 public static class Person{
        int age;
        String sex;
}

对于每次使用应该初始化,可以在该类中欧写一个初始化方法

public static class Person{
     int age;
     String sex;
     public Person(){
            this.age=0;
            this.sex=null;
     }
}

构造方法

public static Person Handle(int age,String sex) {
        Person a=new Person();
        a.age=age;
        a.sex=sex;
        return a;
    }

构造一个叫Handle的方法,导入参数age和sex,在方法中创建了一个Person类型的a变量,这个类型是我们封装的,并对其赋值,最后返回这个类型,达到了同时返回int类型和String类型的目的


整体代码

public class Main {
    public static class Person
    {
        int age;
        String sex;
        public Person()
        {
            this.age=0;
            this.sex=null;
        }
    }
    public static Person Handle(int age,String sex) {
        Person a=new Person();
        a.age=age;
        a.sex=sex;
        return a;
    }
    public static void main(String[] args)  {
        Person b=Handle(5,"男");    //方法的引用
        System.out.println(b.age+" "+b.sex);
    }
}

最后输出的结果为5 男,这里为了展示用法

方法的重载 

方法的方法名相同,返回类型可以不同,并且参数类型或参数个数不同都可以重载

先写三个构造方法

第一个导入一个int类型参数,返回int类型参数

 public static int Method(int a){
        return a;
 }

第二个导入boolean类型参数,返回int类型参数

 public static int Method(boolean a){
        return a?0:1;
}

第三个导入两个int类型参数,返回double类型参数

public static double Method(int a,int b){
        return 1.0*(a+b);
}

完整代码

public class Main {
    public static int Method(int a){
        return a;
    }
    public static int Method(boolean a){
        return a?0:1;
    }
    public static double Method(int a,int b){
        return 1.0*(a+b);
    }
    public static void main(String[] args) {
        int a=Method(5);
        int b=Method(true);
        double c=Method(5,5);
    }
}

于是就可以如上调用构造方法,只是简单举个例子

方法的继承

继承中子类拥有父类非private的属性和方法,可以对父类的属性和方法进行扩展,可以用自己的方式实现父类的方法

单继承

public class A{}
public class B extends A{}

B继承A

多重继承

public class A{}
public class B extends A{}
public class C extends B{}

B继承A,C继承B

不同类继承同一个类

public class A{}
public class B extends A{}
public class C extends A{}

B和C继承A
 

不允许一个类继承多个类

举例方法继承

首先super调用父类的方法,this调用自己的方法

完整举例代码

class Animal {
    String a;
    void name() {
        System.out.println("animal");
    }
}

class Dog extends Animal {
    void name() {
        System.out.println("dog");
    }
    void name2(){
        this.name();
        super.name();
    }
}
class Husky extends Dog {
    int a;
    void name(){
        System.out.println("husky");
    }
    void name2(){
        this.name();
        super.name();
    }
}

public class Main {
    public static void main(String[] args) {
        Animal a = new Animal();
        a.name();
        a.a="动物";
        Dog b=new Dog();
        b.name2();
        b.a="狗";
        Husky c=new Husky();
        c.name2();
        c.a=1;
    }
}

解释:代码中Dog类继承了Animal类,Husky类继承了Dog类,即Dog类可以使用Animal类的属性和行为,Husky类可以使用Dog类的属性和行为,创建Animal对象a,从上到下,首先调用Animal类的name行为,输出animal,使用Animal类的属性为String类型,创建Dog对象b,调用Dog类的name2行为,再调用Dog类的name行为,和Animal类的name行为,继承了Animal类的属性为String类型,创建Husky对象c,调用Husky类的name2行为,再调用Husky类的name行为,和Dog类的name行为,更改了Dog类的属性为int类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星与星熙.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值