Java 三大特征之继承

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();
	}

}

程序输出:

父类的构造方法
子类的构造方法

 

 

posted @ 2017-04-21 21:45  苌来看看  阅读(164)  评论(0编辑  收藏  举报