JAVA011--继承

继承的概念

继承是面向对象编程最重要的特征之一。它允许对一个已近存在的类进行拓展,从而编写一个新的类。新类继承了父类所有的属性和行为。
“is a”关系是一个简单但是重要的用于判断一个继承是否设计良好的步骤。如果两个类存在继承关系,那么我们必须能说一个子对象“is a ”父对象。
关键字 extends 用于实现继承。Java中的类只能继承一个类。
继承是内存叠加的机制。
父类的构造方法不会被子类继承。
在产生子类对象的时候,先调用父类的再调用子类的。
当我们new 一个子类对象时候,首先调用父类构造方法,产生一个父类对象部分,然后再调用子类的构造方法,叠加上子类特有部分,从而构成一个完整的子类对象。

方法重写

父类

public class Father {

    public void dance(){
        System.out.println("我们喜欢迪斯科!");
    }

}

子类

public class Son extends Father{

    //1、方法名、参数列表、返回类型必须与父类方法一致
    //2、方法的访问修饰符子类不能比父类小
    //3、方法抛出的异常,子类不能比父类多
    @Override
    public void dance(){
        System.out.println("我们喜欢BigBang");
    }

}

对toString的重写

//toString()--返回一个对象的字符串描述
        //当直接对一个对象进行字符串操作时,会自动调用该方法
        Student stu = new Student("zhang3",18);
        Student stu1 = new Student("li4",22);
        System.out.println(stu1);
        String str = "描述" + stu;
        System.out.println(str);
        System.out.println(stu.toString());
        System.out.println("这是一个Student对象,name属性的值是:" + stu.getName() + ";age属性的值是:" + stu.getAge());


2.equals()和双等号(==)的区别       
        //equals()---比较两个对象在业务上是否相等,往往需要根据具体业务进行重写
        Student stu0 = new Student("zhang3",18);
        Student stu1 = new Student("zhang3",18);
        //双等号比较对象,比较的是这两个引用是否指向同一个对象!而不是两个对象业务上是否可以认为是相等的
        System.out.println(stu0 == stu1);

        System.out.println(stu0.equals(stu1));

重写和重载的区别:
重写:在继承中,子类包含父类相同的方法,只是实现部分不同。
重载:在同一个类中,有多个同名方法,并且参数列表不同

引用数据类型的强制转换条件:必须有继承关系(上下关系)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值