0
点赞
收藏
分享

微信扫一扫

Pycharm远程连接GPU(内容:下载安装Pycharm、GPU租借、配置SSH、将代码同步到镜像、命令行操控远程镜像、配置远程GPU解释器)

柠檬的那个酸_2333 2024-07-24 阅读 5

方法的重载与重写

一、方法的重载与重写

1、回顾方法的定义

权限修饰符   返回值声明   方法名称(参数列表){
   方法中封住样的逻辑功能;
   return 返回值【返回值void类型,不用写return】
}

2、重载的概念

(1) 必须同一个类中
(2) 方法名相同
(3)方法的参数的个数,顺序或类型不同
(4) 与方法的修饰符和返回值都没有关系

package com.itheima.springboottest;

import javax.print.DocFlavor;

public class Person {
    String name;
    int age;
    String address;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
    
    private void myPrint(){
        System.out.println("这里是父类重载方法1");
    }

    private int myPrint(int age,String name){
        System.out.println("这里是父类重载方法1");
        return 1;
    }

    private int myPrint(String name,int age){
        System.out.println("这里是父类重载方法1");
        return 1;
    }
    
}

在这里插入图片描述

3、重写

(1) 重写发生在父类无法满足子类需求的时候,需要进行重写
(2) 重写的注意事项
① 重写的方法必须要和父类一模一样(包括返回值类型,方法名,参数列表)
② 重写的方法可以使用@Override注解来标识
③ 子类中重写的方法的访问权限不能低于父类中方法的访问权限
private<默认<protectde<public

package com.itheima.springboottest;

public class Family{
    protected  void  myPrint(){
        System.out.println("我是父类方法");
    }
}

class Firstson extends Family{

    public void  myPrint(){
        System.out.println("我是子类重写父类方法");
    }
}

class FamilyTest {
    public static void main(String[] args){
        Firstson son = new Firstson();
        son.myPrint();
    }
}

在这里插入图片描述

二、this关键字

1、何为this方法

JAVA为了解决变量的命名冲突和不确定性问题,引入关键字this代表所在方法的当前对象的引用;

2、使用方法

(1)在构造方法中指构造器所创建的新对象

public class B{
   A a;
   public B(A a){
      this a = a;
   }
}

(2) 方法中指调用该方法的对象

public class Baby{
   public void wakeup(){
      System.out.println("宝宝醒了");
   }
   public void eat(){
      this.wakeup();
      System.out.println("宝宝醒了");
   }
   
}

(3) 在类本身的方法或构造器中引用该类的实例变量(全局变量)和方法

public void setName(String name){
   this.name=name;
}

3、注意事项

this只能在类的非静态方法中使用,静态方法和静态代码块中绝对不能出现this
static修饰的方法在类加载中就已经存在了,单数对象在创建时才会在内存中生成

三、super关键字

1、 super是存在于子类方法中,用于指向子类对象中的父类对象,可以访问父类的属性,函数以及构造函数
2、 子父类存在着同名的成员(包括变量和方法)时,在子类中默认是访问子类的成员,可以通过super关键字指定访问父类的成员
3、 默认会先调用父类无参的构造方法,可以通过super关键字指定调用父类的构造方法

package com.itheima.springboottest;

public class Family{
    protected  void  myPrint(){
        System.out.println("我是父类方法");
    }
}

class Firstson extends Family{

    public void  myPrint(){
        super.myPrint();
        System.out.println("我是子类重写父类方法");
    }
}

class FamilyTest {
    public static void main(String[] args){
        Firstson son = new Firstson();
        son.myPrint();
    }
}

在这里插入图片描述

举报

相关推荐

0 条评论