写在前面——本篇主要探讨的是java中的继承。众所周知,继承是面向对象开发过程中一个重要的概念,在开发过程中,如果使用得当,将大幅减少代码的冗余性,使程序框架简练。
1.类的继承
1).基本概念
""
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的属性和方法,或子类从父类继承方法,使得子类具有父类相同的行为。继承是类与类之间的关系,不是对象与对象之间的关系。继承可以使得子类别具有父类别的各种属性和方法,而不需要再次编写相同的代码。在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法使其获得与父类别不同的功能。
""(以上内容节选自百度)
2)基本语法:
class 父类 { }
class 子类 extends 父类 { }
例如:
class father{}
class son extends father{}
这段伪代码就显示了extends的基本用法,但值得注意的是,在Java中只支持单继承,即一个子类只能有一个父类,所以下面这段伪代码就是错误的:
class father1{}
class father2{}
class son extends father1,father2{}
3)创建子类对象并实例化:
例如:这段代码就创立了动物类的父类和两个子类,狗类和狗类的子类哈士奇类,并观察了继承的基本语法规则:
package project;
public class iproject {
public static void main(String[] args) {
Animal a1=new Animal();
Dog d1=new Dog();
Hashiqi h1=new Hashiqi();
System.out.println(a1.feet);
System.out.println(d1.feet);
System.out.println(h1.feet);
System.out.println(d1.tail);
System.out.println(h1.tail);
System.out.println(h1.color);
}
}
class Animal{
int feet=4;
int eyes=2;
int mouse=1;
}
class Dog extends Animal{
int tail=1;
}
class Hashiqi extends Dog{
String color="black";
}
2.Object类
1).基本简介
Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象都实现这个类的方法。在不明确给出超类的情况下,Java会自动把Object作为要定义类的超类。可以使用类型为Object的变量指向任意类型的对象。由于所有类都是Object类的子类,所以定义时可省略extends
例如:
class Anything{...}
等价于
class Anything extends Object{...}
2).Object类中常用方法介绍
equals(Object obj):指示某个其他对象是否与此对象“相等”
getClass():返回一个对象的运行时类
toString():返回该对象的字符串表示
3).注意事项
Object类中的 getClass()、wait()、notifyAll()、notify()等方法不能被重写,因为它们已经被定义为final 类型