【java】extends继承this&super关键字

实现继承的格式

继承通过extends实现
格式:class 子类 extends 父类 { }
举例:class Dog extends Animal { }

以下java 几个特点

  • class不带(),方法带()
  • 文件名要与class名一致(大小写敏感)
  • 输出使用System.out.println();S是大写

示例代码

Parent.java

public class Parent {
    public int num = 10;
    public void show() {
        System.out.println("父类");
    }
}

Child.java

public class Child extends Parent{
    public int num = 100;
    public void method(){
        System.out.println("子类");
    
    }
}

ExtendsDemo.java

public class ExtendsDemo {
    public static void main(String[] args) {
        
        //创建一个父类对象
        Parent parent = new Parent();
        //调用父类的方法
        parent.show();
        
        // 创建一个子类对象
        Child child = new Child();
        // 调用子类的方法
        child.method();
    
    }
}

在这里插入图片描述

继承方位this&super关键字

  1. this&super关键字:
  • this:代表本类对象的引用
  • super:代表父类存储空间的标识(可以理解为父类对象引用)
  1. this和super的使用分别
    成员变量:
  • this.成员变量 - 访问本类成员变量
  • super.成员变量 - 访问父类成员变量
    成员方法:
  • this.成员方法 - 访问本类成员方法

Parent.java

public class Parent {
    public int num = 10;
    public void show() {
        System.out.println("父类方法被调用");
    }
}

Child.java

public class Child extends Parent{
    public int num = 100;
    public void method(){
        System.out.println("子类方法被调用");
        System.out.println("thisnum = " + this.num);
        System.out.println("supernum = " + super.num);
    }
}

ExtendsDemo.java

public class ExtendsDemo {
    public static void main(String[] args) {
        int num=1000;
        
        //创建一个父类对象
        Parent parent = new Parent();
        //调用父类的方法
        parent.show();

        System.out.println("Miannum="+num);

        // 创建一个子类对象
        Child child = new Child();
        // 调用子类的方法
        child.method();

    }
}

在这里插入图片描述

继承的好处和弊端(理解)

继承好处

  • 提高了代码的复用性(多个类相同的成员可以放到同一个类中)
  • 提高了代码的维护性(如果方法的代码需要修改,修改一处即可

继承弊端

  • 继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性

继承的应用场景:

使用继承,需要考虑类与类之间是否存在is…a的关系,不能盲目使用继承
is…a的关系:谁是谁的一种,例如:老师和学生是人的一种,那人就是父类,学生和老师就是子类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值