Java学习之路09

继承:

public class 子类名 extends 父类名{}

在子类方法中寻找一个对象的时候,先在子类局部变量中找,然后在局部变量中找,最后到父类中找,都没有的话就会报错。成员方法的访问特点大致相同,先在子类中找,没找到再到父类中找,都没有的话就会报错。

子类的所有构造方法都会默认访问父类的无参构造方法,因为子类会继承父类中的数据,可能还会使用父类的数据。所以,子类初始化之前,一定要先完成父类数据的初始化。如果父类中没有无参构造方法,可以自己定义一个无参构造方法,或者使用super(参数)来直接访问父类中的带参构造方法。

@Override
可以帮助我们检验方法重写声明是否正确。
**私有方法不能被重写,子类中重写方法的权限不能比父类低。**public>默认>private

新建类中系统会自动提供无参构造方法,但如果已经定义了一个带参构造方法,就不会再自动提供无参构造方法。

代码测试验证:
动物类:

package MG;

public class Animals {
    private String name;
    private int age;

    public Animals() {
    }

    public Animals(String name, int age) {
        this.name = name;
        this.age = age;
    }

    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;
    }
}

猫类:

package MG;

public class cat extends Animals {
    public cat() {
    }

    public cat(String name, int age) {
        super(name, age);
    }

    public static void can(){
        System.out.println("抓老鼠");
    }
}

狗类:

package MG;

public class dog extends Animals {
    public dog() {
    }

    public dog(String name, int age) {
        super(name, age);
    }

    public static void can(){
        System.out.println("看家");
    }
}

测试类:

package MG;

public class Demo {
    public static void main(String[] args) {
        cat s = new cat();
        s.setName("tom");
        s.setAge(7);
        System.out.println(s.getName()+","+s.getAge());
        s.can();


        dog sc = new dog();
        sc.setName("tim");
        sc.setAge(7);
        System.out.println(s.getName()+","+s.getAge());
        sc.can();
    }

}

基础部分学习过半拉加油加油!

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值