Java特性之继承

面向对象的特征之二----继承性

1、什么是继承:

继承是面向对象软件技术当中的一个概念,与多态封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性方法或者重新定义、追加属性和方法等。

2、继承性的优点

  • 减少了代码的冗余,提高了代码的复用性。
  • 便于功能的扩展。
  • 为之后多态性的使用,提供了前提。
  • 使得代码更加规范化,合理化。
  • 通过继承将多个类中的相同的类容摘取出来,变成一个新类,让其他类和当前的新类产生关系,达到代码复用性的目的。

3、继承性的格式:

class A extends B{}
//A:子类、派生类、subclass
//B:父类、超类、基类、superclass

4、继承性的体现:

  • 一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法。
  • 父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有的结构,只有因为封装性的影响,使得子类不能直接调用父类的结构而已。
  • 子类继承父类以后,还可以声明自己特有的属性或方法:实现功能的拓展。
  • 子类和父类的关系,不同于子集和集合的关系。extends:延展、扩展

5、Java中关于继承性的规定:

  • 一个类可以被对个子类继承。
  • java中类的单继承性:一个类只能有一个父类。
  • 子父类是相对的概念。
  • 子类直接继承的父类,称为:直接父类、间接继承的父类称为:间接父类。
  • 子类继承父类以后,就获取了直接父类以及间接父类中声明的属性和方法。

6、子类不能继承到父类的哪些元素?

  • 不能继承父类的构造函数。
  • 父类的属性和方法方面与他们的修饰符有关,与访问修饰符保持一致。

7、关于java.lang.Object类:

  • 如果我们没有显示的声明一个类的父类的话,则此类继承与java.lang.Object类。
  • 所有的java类(除java.lang.Object类之外)都直接或者间接的继承于java.lang.Object类。
  • 所有的java类具有java.lang.Object类声明的功能。

8、实例:

//父类
package com.atguigu.java;

public class Person extends Creature{
	
	String name;
	private int age;
	
	public Person(){
		
	}
	
	public Person(String name,int age){
		this.name = name;
		this.age = age;
	}
	
	public void eat(){
		System.out.println("吃饭");
		sleep();
	}
	
	private void sleep(){
		System.out.println("睡觉");
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
	
	
}

//子类
package com.atguigu.java;

public class Student extends Person{
	
//	String name;父类中有此属性
//	int age;
	String major;
	
	public Student(){
		
	}
	public Student(String name,int age,String major){
		this.name = name;
//		this.age = age;
		setAge(age);
		this.major = major;
	}
//	public void eat(){
//		System.out.println("吃饭");
//	}
//	
//	public void sleep(){
//		System.out.println("睡觉");
//	}
	
	public void study(){
		System.out.println("学习");
	}
	
	public void show(){
		System.out.println("name:" + name + ",age:" + getAge());
	}
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值