继承

继承是相对于类来说,通过关键字extends来实现

  • 可以获取父类的属性和方法
  • 提高代码的复用性
  • 父类修改了内容,子类也会修改

    调用

    父类的属性和方法

  • this表示当前对象的引用

  • super表示父类对象的引用
  • 调用构造方法
    • this(参数列表)表示调用当前类中的构造方法
    • super(参数列表)表示调用父类的构造方法,必须放在方法中的第一行
  • 调用属性
    • this.属性表示调用当前对象的属性
    • super.属性表示调用父类的属性,可以拿到被重写之前的数据
  • 调用方法

    • this.方法表示调用当前对象的方法
    • super.方法表示调用父类的方法,可以拿到被重写之前的方法,不用放在代码的第一行

      重写

      重写是子类可以重写父类的方法,使用override标识
  • 方法名和参数不变,只修改方法体

  • 访问权限不能比父类的范围更小
  • 私有的方法能被子类继承,但不能使用和重写
  • 静态的方法能被子类继承,能使用但不能被重写

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public class testeass {

    public void aa(String name, int age){
    System.out.println(name + age);
    }
    }

    class testaaa extends testeass{

    @Override
    public void aa(String name, int age) {
    System.out.println("这是重写方法,方法名、参数和返回数据都不变,只能修改方法体");
    System.out.println(name + age);
    }
    }

    重载

    重载是同一个类下对方法进行重载

  • 方法名相同,参数不相同 (参数个数不同/参数类型不同/参数排列顺序不同)

  • 返回类型不限制
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class jichu {

    // 原方法
    public void hello(String name, int aa){
    System.out.println("拼接起来的值是:"+ name + aa );
    }

    // 重载后的方法
    public void hello(int aa, String name){
    System.out.println("aaaaaaa:" + aa);
    }
    }