首页 > 编程语言 >JAVA 方法(方法的重载、方法的继承)

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

时间:2024-03-17 20:32:24浏览次数:24  
标签:JAVA String int class Person static 重载 方法 public

目录

方法

导入参数可以有多个

返回多个参数

方法的重载 

方法的继承


方法

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

示例

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类型

标签:JAVA,String,int,class,Person,static,重载,方法,public
From: https://blog.csdn.net/qwertf123/article/details/136583355

相关文章

  • 信号处理--基于gumbel-softmax方法实现运动想象分类的通道选择
    目录背景亮点环境配置数据方法结果代码获取参考文献背景基于Gumbel-softmax方法EEG通道选择层的PyTorch实现。该层可以放置在任何深度神经网络架构的前面,以共同学习给定任务和网络权重的脑电图通道的最佳子集。这一层由选择神经元组成,每个神经元都使用输入通......
  • JAVA面向对象高级:static注意事项
    packagecom.itheima.static1;publicclassStudent{staticStringschoolName;doublescore;//实例变量//1.类方法中可以直接访问类的成员,不可以直接访问实例成员publicstaticvoidprinthelloworld(){//注意:同一个类中,访问类成员,可以省略类......
  • js数组循环常用的几种方法
    前端开发中,经常要用到循环,保存一份,后面慢慢补充。js数组循环常用的几种方法:。1、for循环最基本的循环方式,也是速度比较快,效率比较高的循环方式,vararr=[1,2,3,4,5];for(vari=0;i<arr.length;i++){ console.log(arr[i]);}2、forEach循环历数组中的每一......
  • JAVA面向对象高级:static修饰成员方法 真正搞懂main方法 类方法实例方法应用场景
         真正搞懂main方法    类方法实例方法应用场景类方法最常见的应用场景是做工具类      ......
  • 类的一些常用魔术方法
    类的一些魔术方法classMan(): passclassWoman(): passclassSasuke(Man,Woman): """描述:佐助这个的天生属性,技能成员属性:__eyeskin成员方法:skylight__moonread """ __eye="血轮眼->万花筒->轮回眼" skin="白色" defskyli......
  • python中类的__new__方法和__init__方法
    python文章目录python一、python中类的__new__方法和__init__方法二、第三行解释说明instance=super().__new__(cls)三、__init__,__new__返回的是什么?四、debug代码运行中cls,instance,self都是什么东西怎么理解cls是<class'__main__.MyClass'>,instance是<__main__.......
  • 再遇java无回显XXE
    来自:[网鼎杯2020青龙组]FileJavahgame遇到一个无回显XXE,这次找java题恰好又找到一个,虽然是四年前的题,但思路大差不差,都是传dtd文件,然后反弹shell,那么重点我们就来看代码审计部分。进入发现是一个文件上传:随便传一个文件看看:给了一个下载地址,访问试试:能直接下载下来,抓个包......
  • Java创建数组、赋值的四种方式,声明+创建+初始化 详解
    @目录一、创建数组的四种方式二、详解三、数组存储的弊端一、创建数组的四种方式以int数据类型为例@TestpublicvoidtestNewArray(){//创建数组//法一int[]arr1=newint[]{1,2,3,4,5};System.out.println(arr1.length+""+arr1[2]);//5......
  • java参数类型详细介绍(简单易懂)
    目录1、参数类型分布图1.1浮点型1.2 字符型char 1.2.1 char大小1.3字符串:(String-不可变字符串)1.3.1Jvm内存图1.3.2开辟空间个数注意1.3.3使用==时注意1.3.4字符串拼接举例 1.3.5String常见的方法1.4字符串:(StringBuffer-可变字符串、StringBuilder-可变......
  • Java学习笔记:字符串
    目录Java学习笔记:字符串String创建String对象内存模型String比较Scanner验证键入的字符串本质是new出来的练习案例:判断账户和密码是否一致遍历字符串统计字符次数字符串反转StringBuilderStringBuilder构造方法链式编程拼接字符串StringJoiner总结必须学习使用JDKAPI帮助文档​......