Java面向对象之继承

面向对象之继承

继承概念
  • ,在程序中,继承描述的是事物之间的所属关系,通过继承可以使很多事物之间形成一种关系体系.例如公司中,的研发部员工和维护部员工都属于员工,程序中便可以描述为研发部员工和维护部员工继承自员工,在现实生活中,继承一般是指子辈继承父辈的财产.同理,JavaEE工程师和Android工程师继承自研发部员工,而维护网络维护工程师和硬件维护工程师继承自维护部员工,这些员工之间会形成一个继承体系,
    在这里插入图片描述
  • 在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称为父类,子类会自动拥有父类所有非私有的属性和方法.

继承的格式与使用

  • 在程序中,如果想声明一个类继承另一个类,需要使用extends关键字.
  • 格式
public class 子类 extends 父类{
}
  • 接下来通过一个案例来学习子类是如何继承父类的
/*
 * 定义员工类Employee
 */
class Employee {
	String name; // 定义name属性
	// 定义员工的工作方法
	public void work() {
		System.out.println("尽心尽力地工作");
	}
}

/*
 * 定义研发部员工类Developer 继承 员工类Employee
 */
class Developer extends Employee {
	// 定义一个打印name的方法
	public void printName() {
		System.out.println("name=" + name);
	}
}

/*
 * 定义测试类
 */
public class Example01 {
	public static void main(String[] args) {
		Developer d = new Developer(); // 创建一个研发部员工类对象
		d.name = "小明"; // 为该员工类的name属性进行赋值
		d.printName(); // 调用该员工的printName()方法
		d.work(); // 调用Developer类继承来的work()方法
	}
}
  • 在上述代码中,Developer类通过extends关键字继承了Employee类,这样Developer类便是Employee类的子类,从运行的结果不难看出,子类虽然没有定义name属性和work( )方法,但是却能访问这两个成员,这说明,子类在继承父类的时候,会自动拥有父类的成员属性和方法,

继承的好处与注意事项

  • 继承的好处:
    • 继承的出现提高了代码的复用性,提高软件开发的效率.
    • 继承的出现让类与类之间产生了关系,提供了多态的前提.
  • 在类的继承中,需要注意一些问题,具体如下:
    • 在Java中,类只支持单继承,不允许多继承,也就是说一个类只能有一个父类.
public class A{}
public class B{}
public class C extends A,B{}// C类不可以同时继承A类和B类
  • 多个类可以继承一个父类,例如下面这种情况是允许的
public class A{ }
public class B extends A{ }
public class C extends A{ }//类B 和 类C 都可以继承类A
  • 在Java中**,多层继承**是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类,这时C类也可称作A类的子类,下面这种情况是允许的
public class A{ }
public class B extends A{ }//类B 继承 类A, 类B 是 类A 的子类
public class C extends B{ }//类C 继承 类B, 类C 是 类B 的子类,同时也是 类A 的子类 
  • 在Java中,子类和父类是一种相对的概念,也就是说一个类似某一个类父类的同事,也可以是另一个类的子类.例如上面的这种情况,类B 是 类A的子类,同时又是 类C 的父类.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值