java类的继承-----继承的定义


  继承(inheritance)是面向对象编程的核心机制之一,没有使用继承的程序设计,就不能成为面向对象的程序设计。


1.继承的定义

  特殊类的对象拥有一般类的全部属性与行为,称为特殊类对一般类的继承。一个类可以是多个一般类的特殊类,也可以从多个一般类中继承属性与行为,但在java语言中,不允许一个类从多个一般类中继承属性与行为,即在java语言中,只支持单继承。

  在软件开发中,通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。因此,类的继承性使所建立的软件具有开放性开放性、可扩充性,这是信息组织与分类的行之有效的方法,通过类的继承关系,使公共的特性能够共享,简化了对象、类的创建工作量,增加了代码的可重用性。

  java 中继承使用关键字extends ,语法如下:

[类修饰符] class 子类名 extends 父类名{
	语句;
}

  在java中,java.lang.Object 类是所有java类的最高层父类,是唯一一个没有父类的类。如果在类的声明中未使用extends 关键字指明其父类,则默认父类为Object 类。java中的类的继承关系形成了以Object 类为树根的树状层次结构。例:

public class text{
	......;
}

  等价于

public class text extends Object{
	......;
}

  示例:

//Person
public class Person{
	String name;
	int age;
	void eat(String s){
		System.out.println(s);
	}
	void sleep(String s){
		System.out.println(s);
	}
}

//Teacher
public class Teacher extends Person{
	int salary;
	String school;
	void teach(String s){
		System.out.println(s);
	}
	public static void main(String[] args){
		Teacher t = new Teacher();
		t.name = "张三";					//实例化Teacher 类对象t
		System.out.println("教师"+t.name);  
		t.eat("吃");						//使用从父类继承来的成员方法eat()
		t.sleep("睡");						//使用从父类继承来的成员方法sleep()
		t.teach("上课");					//使用在Teacher类中定义的teach()方法
	}
}

  注:成员变量和成员方法可以被继承,但是构造方法不能被继承。

原文地址:https://www.cnblogs.com/xiaonanman/p/6718074.html