【java学习—七】单继承和多层继承(30)

文章目录

  • [1. 相关概念](#1. 相关概念)
  • [2. 从代码中理解](#2. 从代码中理解)

1. 相关概念

Java 只支持单继承,不允许多重继承:

(1)一个子类只能有一个父类

(2)一个父类可以派生出多个子类

举例区分:

java 复制代码
class SubDemo extends Demo{ } //ok
class SubDemo extends Demo1,Demo2...//error

每一个子类只能有唯一的父类,下图时单继承的样例:

2. 从代码中理解

练习题1

1.(1) 定义一个 ManKind 类,包括

①成员变量 int sex 和 int salary ;

②方法 void manOrWorman() :根据 sex 的值显示" man"(sex == 1) 或者 " women"(sex == 0);

③方法 void employeed() :根据 salary 的值显示" no job"(salary == 0) 或者" job"(salary != 0)。

(2) 定义类 Kids 继承 ManKind ,并包括

①成员变量 int yearsOld ;

②方法 printAge() 打印 yearsOld 的值。

(3) 在 Kids 类的 main 方法中实例化 Kids 的对象 someKid ,用该对象访问其父类的成员变量及方法。

答案:

(1)定义的ManKind类:

java 复制代码
package day07;

public class ManKind {
	int sex;
	int salary;
	
	
	
	public int getSex() {
		return sex;
	}


	public void setSex(int sex) {
		this.sex = sex;
	}


	public int getSalary() {
		return salary;
	}


	public void setSalary(int salary) {
		this.salary = salary;
	}


	public void manOrWoman() {
		if(this.sex == 1) {
			System.out.println("man");
		}else if(this.sex == 0) {
			System.out.println("Woman");
		}
	}
	
	
	public void employeed() {
		if(this.salary == 0) {
			System.out.println("no job");
		}else {
			System.out.println("job");
		}
	}

}

(2)定义的Kids类

java 复制代码
package day07;

public class Kids extends ManKind {
	int yearsOld;
	
	
	
	public int getYearsOld() {
		return yearsOld;
	}



	public void setYearsOld(int yearsOld) {
		this.yearsOld = yearsOld;
	}



	public void printAge() {
		System.out.println(this.yearsOld);
	}

	public static void main(String[] args) {    //在 Kids 类的 main 方法中实例化 Kids 的对象 someKid 
		Kids someKid = new Kids();
		someKid.setSex(0);
		someKid.setSalary(100);
		
		someKid.manOrWoman();
		someKid.employeed();
	}
}

练习题2

根据下图实现类。在 TestCylinder 类中创建 Cylinder 类的对象,设置圆柱的底面半径和高,并输出圆柱的体积。

相关推荐
老胖闲聊22 分钟前
Python Copilot【代码辅助工具】 简介
开发语言·python·copilot
Blossom.11826 分钟前
使用Python和Scikit-Learn实现机器学习模型调优
开发语言·人工智能·python·深度学习·目标检测·机器学习·scikit-learn
Mr_Air_Boy1 小时前
SpringBoot使用dynamic配置多数据源时使用@Transactional事务在非primary的数据源上遇到的问题
java·spring boot·后端
曹勖之1 小时前
基于ROS2,撰写python脚本,根据给定的舵-桨动力学模型实现动力学更新
开发语言·python·机器人·ros2
豆沙沙包?1 小时前
2025年- H77-Lc185--45.跳跃游戏II(贪心)--Java版
java·开发语言·游戏
军训猫猫头2 小时前
96.如何使用C#实现串口发送? C#例子
开发语言·c#
年老体衰按不动键盘2 小时前
快速部署和启动Vue3项目
java·javascript·vue
恰薯条的屑海鸥2 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十六期-SSRF模块)
数据库·学习·安全·web安全·渗透测试·网络安全学习
咖啡啡不加糖2 小时前
Redis大key产生、排查与优化实践
java·数据库·redis·后端·缓存
liuyang-neu2 小时前
java内存模型JMM
java·开发语言