Java— 继承

继承
Java中的继承是单继承。
一个类只有一个父类 1、继承是类与类之间的一种关系,用来实现代码的复用; 2、子类拥有父类的所有属性和方法;但父类中属性和方法的修饰符不能是private,
子类不能继承父类private 修饰的属性和方法
 3、继承的语法规则是: class 子类 extends 父类 eg. class Dog extends Animal{ } extends为继承关键字
方法的重写:
方法的重写:
1、什么是方法的重写?
如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用的时候会优先调用子类的方法。
2、语法规则:
a.返回值类型
b.方法名
c.参数类型及个数
都要与父类继承的方法相同,才叫方法的重写

继承的初始化顺序:
1、初始化父类 再初始化子类;
2、先执行初始化对象中属性,在执行构造方法中的初始化;
父类 属性初始化-构造方法——子类属性初始化-构造方法

final 关键字---最终
    final修饰类,该类不能被继承
    final修饰方法,该方法不能被重写
    final修饰属性,只能在构造方法里复制或者初始化赋值,且必须赋值。
    final修饰变量,即为常量

super关键字:
当在子类中需要调用夫类的属性时,可以使用super关键字; 使用方法:调用属性super.age 调用方法super.eat()

super关键字的应用:
1. 子类的构造过程中必须调用其父类的构造方法
2. 如果子类的构造方法没有显示调用父类的构造方法,则系统会默认调用父类的无参构造方法。
3. 如果显示的调用构造方法,必须在子类的构造方法的第一行,super()。
4. 如果子类的构造方法中既没有显示调用父类的构造方法,父类又没有无参的构造方法,则编译就会报错



Object 类
object类是所有类的父类。
如果一个类没有使用extends关键字明确标识继承另外一个类,则这个类默认继承object类。
object中方法适用于所有子类。
1、toString() 通过重写这个方法表示出对象属性。
2,toString()方法返回的对象是哈希code码(对象地址的字符串)

Source----Gernerate to String
equals()----返回值是布尔类型
比较的是对象的引用是否指向同一块内存地址-------对象实例化时,即给对象分配内存空间 使用方法如:dog.equals(dog2); 如果是两个对象,但想判断两个对象的属性是否相同,则重写equals()方法 1.地址是否相同----if (this == obj) 2.对象是否为空----if (obj == null) 3.getClass()可以得到类对象,判断类型是否一样-----if (getClass() != obj.getClass()) new出来的是类的对象,关注的是类的属性的具体的数据; 类对象是类的代码信息,关注的是类有什么属性和方法 4.属性值是否一样----if (age != other.ag)

Source----Gernerate hashCode and equals()
 
 
原文地址:https://www.cnblogs.com/my334420/p/6684666.html