Java学习第5篇_面向对象特征二:继承性

1 继承性的好处

① 减少了代码的冗余,提高了代码的复用性
② 便于功能的扩展
③ 为之后多态性的使用,提供了前提

2 继承性的格式

class A extends B{}

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

3 Java中关于继承性的规定

  • 1.一个类可以被多个子类继承。
  • 2.Java中类的单继承性:一个类只能有一个父类
  • 3.子父类是相对的概念。多层继承,最低层有高层的所有结构
  • 4.子类直接继承的父类,称为:直接父类。间接继承的父类称为:间接父类
  • 5.子类继承父类以后,就获取了直接父类以及所有间接父类中声明的属性和方法
  • 6.所有的java类(除java.lang.Object类之外)都直接或间接的继承于java.lang.Object类

练习:

  1. 定义一个ManKind类,包括成员变量int sex和int salary;方法voidmanOrWoman():根据sex的值显示“man”(sex1)或者“woman”(sex0);方法void employeed():根据salary的值显示“no job”(salary==0)或者“ job”(salary!=0)。
  2. 定义类Kids继承ManKind,并包括成员变量int yearsOld;方法printAge()打印yearsOld的值。
  3. 定义类KidsTest,在类的main方法中实例化Kids的对象someKid,用该对象访问其父类的成员变量及方法。

源代码(三个类都在同一个包下):
ManKind.java

public class ManKind {
	private int sex;
	private int salary;
	
	public int getSex() {
		return this.sex;
	}
	public void setSex(int sex) {
		this.sex = sex;
	}
	
	public int getSalary() {
		return this.salary;
	}
	
	public void setSalary(int salary) {
		this.salary = salary;
	}
	
	public void manOrWoman() {
		if(sex == 1) {
			System.out.println("man");
		}else {
			System.out.println("wonman");
		}
	}
	
	public void employeed() {
		if(this.salary > 0) {
			System.out.println("job");
		}else {
			System.out.println("no job");
		}
	}
}

Kids.java

public class Kids extends ManKind{

	private int yearsOld;
	
	public void printAge() {
		System.out.println("the years old is "+yearsOld);
	}
}

KidsTest.java

public class KidsTest {

	public static void main(String[] args) {
		Kids someKid = new Kids();
		someKid.setSalary(10000);
		someKid.setSex(1);
		someKid.employeed();
		someKid.manOrWoman();
	}
}

输出:

job 
man

参考:2019尚硅谷Java基础课程

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值