Java 中通过 extends 来完成对对象的继承
代码如下:
package hello;
class Person{
private String name;
private int 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;
}
}
class Student extends Person{
public void tell(){
System.out.println(getName() + " " + getAge());
}
}
public class ExtendsDemo {
public static void main(String[] args) {
Student student = new Student();
student.setAge(20);
student.setName("zhangsan");
student.tell();
}
}
我们通过
class Student extends Person
来完成 Student 对象 对 Person 对象的继承,继承后在 Student 中就可以访问父类中的属性和方法,当然,在上述的示例中,父类中的私有属性(name 和 age)通过 private 加以封装,因此需要通过 getName 和 getAge 来完成其访问。
继承的两个限制:
1. Java 中只能继承一个对象(在 Python 中可继承多个对象)
2. 子类不能直接访问父类中的私有属性
关于子类对象的实例化过程
在子类对象实例化之前,必须先调用父类中的构造方法,在调用子类的构造方法。代码如下:
package hello;
class Father{
public Father(){
System.out.println("父类的构造方法");
}
}
class Son extends Father{
public Son(){
System.out.println("子类的构造方法");
}
}
public class ExtendsDemo {
public static void main(String[] args) {
Son son = new Son();
}
}
程序输出:
父类的构造方法
子类的构造方法