JAVA继承
继承是由子对象完全继承父对象的数据和操作,“is”的关系。
- 被继承的类被称为父类(superclass),也叫基类、超类。
- 继承后的类称为子类(subclass),也叫派生类。
java支持单继承,使用关键字extends
语法:
子类 extends 父类
复制
例:定义一个Animal类,再创建一个Dog类,继承Animal类。
class Dog extends Animal{
.....
}
public class Person {
public String name;
public String sex;
protected int age;
public Person() {
super();
}
public Person(String name, String sex, int age) {
super();
this.name = name;
this.sex = sex;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
复制
public class Employee extends Person{ private String comName; public Employee() { super(); // TODO Auto-generated constructor stub } public Employee(String name, String sex, int age,String comName) { super.name=name; super.sex=sex; super.age=age; this.comName = comName; } public Employee(String comName) { super(); this.comName = comName; } public String getComName() { return comName; } public void setComName(String comName) { this.comName = comName; } }
复制
- 子类若要引用父类的同名变量。要用super关键字,即super.变量名。
- 子类若要引用父类的构造函数,通过super()调用。
this关键字:
表示当前对象,可以用于: 1.引用自身对象的成员变量 this.age;
2.引用自身对象的成员方法 this.display();
3.调用自身的构造方法 this("Jack",Male,10);
super 关键字
super 表示使用它的类的父类。super 可用于: 1.引用父类对象的成员变量 super.age;
2.引用父类对象的成员方法 super.display();
3.调用父类的构造方法 super("Jack",Male,10);
在java中,每一个类都默认具有null、this、super三个域,因此在任何类中都可以直接引用。
注意: 1.构造方法使用this或super时,必须位于方法体的第一条。 2.this不能用于static 3.构造方法不能被继承 4.当通过子类不含参数的构造函数创建子类对象时,先执行父类不含参数的构造函数,再执行子类不含参数的构造函数。 5.如果定义一个;类,没有调用extends,则它的父类是:java.lang.Object
形参和实参
- 定义方法的参数是形式参数
- 调用方法的参数是实在参数
- 调用方法时要求参数个数相同,类型兼容
对象的比较—— ==和equals()
==
- 比较两个基本类型变量的值是否相等
- 比较两个引用类型的值即内存地址是否相等,即是否指向同一对象。
equals()
- 比较两个对象的内容是否相等