Java程序设计_类的继承
- 格式:ppt
- 大小:1.12 MB
- 文档页数:32
Java基础-继承-编写⼀个Java应⽤程序,设计⼀个汽车类Vehicle,包含的属性有车。
#29.编写⼀个Java应⽤程序,设计⼀个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。
⼩车类Car是Vehicle的⼦类,其中包含的属性有载⼈数loader。
卡车类Truck是Car类的⼦类,其中包含的属性有载重量payload。
每个类都有构造⽅法和输出相关数据的⽅法。
最后,写⼀个测试类来测试这些类的功能。
package hanqi;public class Vehicle {private int wheels;private int weight;public int getWheels() {return wheels;}public void setWheels(int wheels) {this.wheels = wheels;}public int getWeight() {return weight;}public void setWeight(int weight) {this.weight = weight;}//构造public Vehicle(int wheels,int weight){this.weight=weight;this.wheels=wheels;}}package hanqi;public class Car extends Vehicle{private int loader;public int getLoader() {return loader;}public void setLoader(int loader) {this.loader = loader;}//构造public Car(int wheels, int weight,int loader){super(wheels,weight);this.loader=loader;}}package hanqi;public class Truck extends Car{private int payload;public int getPayload() {return payload;}public void setPayload(int payload) {this.payload = payload;}//构造public Truck(int wheels, int weight, int loader, int payload){super(wheels,weight,loader);this.payload=payload;}}package hanqi;public class TestVehicle {public static void main(String[] args) {Vehicle a = new Vehicle(4,3);System.out.println("a有:"+a.getWheels()+"个轮⼦\t:"+a.getWeight()+"吨重");Car b= new Car(4,3,4);System.out.println("b有:"+b.getWheels()+"个轮⼦\t:"+b.getWeight()+"吨重\t可以坐"+b.getLoader()+"个⼈");Truck c= new Truck(6,10,5,10);System.out.println("c有:"+c.getWheels()+"个轮⼦\t:"+c.getWeight()+"吨重\t可以坐"+c.getLoader()+"个⼈\t载重"+c.getPayload()+"吨"); }}。
理论题选择题 20’一、选择:知识点:Java 语言概述1.编译Java程序的命令文件名是(C)A. java.exeB. java.cC. javacD. appletviewer.exe2. Java语言与其他语言相比,独有的特点是(C)A 面向对象B 多线程C 平台无关性D 可扩展性3. 编译Java程序filename.java 后,生成的程序是(C)A filename.htmlB filename.javC filename.classD filename.jar4. 下面声明Java独立应用程序main( )方法中,正确的是(A)A public static void main(String args[ ]){……}B private static void main(String args[ ]){……}C public void main(String args[ ]){……}D public static void main(String args){……}知识点:数据类型8. 定义a 为int 类型变量。
下面正确的赋值语句选项是()A int a=6;B a==3C a=3.2fD a+=a*310. 下列有关Java布尔类型的描述中,正确的是A 一种基本的数据类型,它的类型名称为booleanB 用int表示类型C 其值可以赋给int类型的变量D 有两个值,1代表真,0代表假知识点:变量定义13. 下面变量定义错误的是()A float x; y;B float x,y=2.33fC public int i=100,j=2,k;D char ch1=’m’,ch2=’\’;16. 下列变量定义正确的是()A double d;B float f=6.6;C byte b =130;D boolean t=”true”;知识点:数组17. 设有定义语句”int a[ ]={66,88,99}”,则关于该语句的叙述错误的是()A 定义了一个名为a的一维数组B a 数组有三个元素C a数组的下标为1~3D 数组中的每个元素的数据类型都是int型18. 若已定义:”int a[ ]={0,1,2,3,4,5};”,则对a数组元素正确的引用是()\A a[-1]B a[6]C a[5]D a(0)19. 现有整型数组int a [ ]={10,21,28,-3,84,55};为了打印输出数组的各个元素,下面正确的代码是()A for(int i=0;i<=6;i++)B for(int i=0;i<5;i++)System.out.println(a[i]); System.out.println(a[i]);C for(int i=0;i<a.length;i++)D for(int i=0;i<a.length;i++) System.out.println(a(i)); System.out.println(a[i]); 知识点:类和对象21. 定义类头时可以使用的访问控制修饰符是()A publicB abstractC privateD static23. 定义一个类Point,类中有两个double型变量x和y,对于构造函数的声明错误的是(A)A Point Point(int x){…..}B public Point(int x ){……}C public Point ( int x ,int y){…..}D public Point(Point p ){……}24. 有关类的说法正确的是(B)A 类具有封装性,所以类的数据是不能被访问的B 类具有封装性,但可以通过类的公共接口访问类中的数据C 声明一个类时,必须用public修饰符D 每个类中,必须有main方法,否则程序无法运行26. 以下关于构造函数及其重载的说法正确的是(D)A 类定义了构造函数,Java就不会自动为该类创建默认的不带参数的构造函数B 构造函数不能对私有变量初始化C 一个类中含有几个构造函数,称为构造函数的重载。
JAVA语言程序设计考试试卷及部分答案一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。
1.下列语句序列执行后,k 的值是( B )。
int m=3, n=6, k=0。
while( (m++) < ( -- n) ) ++k。
A) 0 B) 1 C) 2 D) 32.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( B )。
A) i = i + 2 B) a[0] = 7。
C) i++ - --j。
D) a(0) = 66。
3.Java语言的类间的继承关系是( B )。
A) 多重的 B) 单重的 C) 线程的 D) 不能继承4.设有定义 int i = 6 。
,则执行以下语句后,i 的值为( C )。
i += i - 1。
A) 10 B) 121 C) 11 D) 1005.下列选项中,用于在定义子类时声明父类名的关键字是( C )。
A)interface B) package C) extends D) class6.若已定义 byte[ ] x= {11,22,33,-66} 。
其中0≤k≤3,则对x数组元素错误的引用是( C )。
A) x[5-3] B) x[k] C) x[k+5] D) x[0]7.下列语句序列执行后,ch1 的值是( B )。
char ch1='A',ch2='W'。
if(ch1 + 2 < ch2 ) ++ch1。
A) 'A' B) 'B' C) 'C' D) B8.下列语句序列执行后,i 的值是( D )。
int i=8, j=16。
9.下列语句序列执行后,k 的值是( C )。
int i=10, j=18, k=30。
switch( j - i ){ case 8 : k++。
《Java面向对象程序设计-继承和多态》教案第一章:引言1.1 课程简介本课程旨在帮助学生掌握Java面向对象程序设计中的继承和多态概念。
通过学习,学生将能够理解继承和多态的原理,并能够运用它们解决实际编程问题。
1.2 课程目标理解继承的概念和原理掌握如何使用继承来实现代码复用理解多态的概念和原理掌握如何使用多态来实现动态绑定第二章:继承2.1 继承的概念介绍继承的定义和作用解释为什么使用继承2.2 继承的语法介绍如何使用extends关键字实现继承解释继承中的构造函数和继承关系2.3 继承的实现演示如何使用继承来复用代码解释继承的层次结构和菱形继承第三章:多态3.1 多态的概念介绍多态的定义和作用解释多态的好处3.2 方法重写解释方法重写的概念和规则演示如何使用方法重写来实现多态3.3 方法重载解释方法重载的概念和规则演示如何使用方法重载来提高代码可读性第四章:继承和多态的案例分析4.1 案例一:动物和鸟类使用继承和多态来定义动物和鸟类的关系实现动物和鸟类的属性和方法4.2 案例二:形状和圆形使用继承和多态来定义形状和圆形的关系实现形状和圆形的属性和方法第五章:总结和练习5.1 课程总结回顾继承和多态的概念和原理强调继承和多态在面向对象程序设计中的重要性5.2 练习题提供一些练习题,以帮助学生巩固所学知识第六章:继承和多态的深入理解6.1 继承的类型解释接口继承和类继承的区别讨论继承的优点和缺点6.2 多态的应用探讨多态在日常编程中的应用场景分析多态如何提高程序的可扩展性和灵活性第七章:Java中的继承和多态实例7.1 继承实例:汽车和摩托车通过实例展示如何使用继承来创建汽车和摩托车类演示如何通过继承来扩展属性和方法7.2 多态实例:支付接口和具体的支付方式创建一个支付接口和多个具体的支付方式类演示如何使用多态来实现不同的支付方法第八章:继承和多态的陷阱与最佳实践8.1 继承的陷阱讨论继承可能带来的过度耦合问题解释如何避免继承的陷阱8.2 多态的陷阱分析多态可能导致的类型不匹配问题探讨如何安全地使用多态8.3 最佳实践提供使用继承和多态的最佳实践指南强调代码可读性和可维护性第九章:继承和多态在设计模式中的应用9.1 设计模式简介介绍设计模式的概念和重要性解释设计模式与继承和多态的关系9.2 继承和多态在设计模式中的应用案例通过案例分析展示继承和多态如何在设计模式中发挥作用讨论设计模式如何提高程序设计的质量和可复用性第十章:课程回顾与拓展学习10.1 课程回顾总结本课程的重点内容和关键概念强调继承和多态在实际编程中的应用10.2 拓展学习资源提供一些拓展学习的资源和建议鼓励学生继续深入学习面向对象程序设计的其他方面第十一章:继承和多态的实际应用案例11.1 案例分析:图形库的设计通过分析图形库的设计,展示继承和多态如何用于实现复杂的图形操作。
《Java程序设计》课程标准一、课程定位1.课程性质专业必修课2.课程作用本课程以就业为导向,从技术技能人才培养的要求出发,以强化技术应用能力培养为主线,培养学生程序设计能力,面向对象编程能力,利用计算机语言分析问题解决问题的能力。
在技能培养的同时,注重培养岗位所需的创新意识、团队合作精神等职业素质,使学生具备良好的软件应用开发的职业能力和职业素养。
二、课程目标通过《Java程序设计》课程的学习,使学生具备面向对象程序设计的思想和能力,具有用Java语言编程实现的能力。
1.知识目标(1)了解Java面向对象的程序设计思想;(2)掌握Java类及其成员的定义;(3)掌握Java类的继承的实现,理解抽象类、接口和多态的实现;(4)掌握Java的事件编程模式;(5)掌握Java的组件开发;(6)掌握Java的文件访问;(7)理解Java的多线程编程模式。
2.能力目标(1)会使用Java类,会类成员属性、类成员方法的定义;(2)会使用Java类的继承,抽象类和接口的定义,以及多态的实现;(3)会使用Java的事件进行编程;(4)会使用Java的组件进行程序设计;(5)会Java的文件访问操作;(6)会Java的多线程编程。
3.素质目标(1)具有良好的职业道德和质量服务意识;(2)具有团队协作精神和较强的协调能力及独立工作的能力;(3)具有良好的心理素质;三、课程设计1.设计思想(1)教学内容框架(2)总体设计思路本课程旨在培养学生面向对象的程序设计思想,掌握面向对象的Java程序设计,程序设计中组件和事件模型的应用,从而培养学生对软件开发的认识,了解并掌握软件开发的步骤及思想。
在课程实施过程中,根据讲授的知识,可以相应使用以下的学习情境:2.课时分配建议本课程课时为100学时,其中理论教学50学时,实践教学50学时。
如果课时超过100学时,超过的学时用于实践教学,以提高学生的技能;如果课时低于100学时的,可以适当去掉线程内容,或者合并部分教学单元内容。
第1章Java语言概述选择题1-1 在下列概念中,Java语言只保留了(B)A. 运算符重载B. 方法重载C. 指针D. 结构和联合1-2 下列关于Java语言特性的描述中,错误的是(D)A. 支持多线程操作B. Java程序与平台无关C. Java和程序可以直接访问Internet上的对象D. 支持单继承和多继承1-3 下列关于Java Application程序在结构上的特点的中,错误的是(C)A. Java程序是由一个或多个类组成的B. 组成Java程序的若干个类可以放在一个文件中,也可以放在多个文件中C. Java程序的文件名要与某个类名相同D. 组成Java程序的多个类中,有且仅有一个主类1-4 Java程序经过编译后生成的文件的后缀是(C)A. .objB. .exeC. .classD. .java1-5 下列关于运行字节码文件的命令行参数的描述中,正确的是(A)A. 第一个命令行参数(紧跟命令字的参数)被存放在args[0]中B. 第一个命令行参数被存放在args[1]中C. 命令行的命令字被存放在args[0]中D.数组args[]的大小与命令行参数的个数无关判断题1-1JavaC++的语言之前问世的。
(错)1-2Java语言具有较好的安全性和可移植性及与平台无关等特性。
(对)1-3Java语言中取消了联合的概念,保留了结构概念。
(错)1-4Java语言中数据类型占内在字节数与平台无关。
(对)1-5Java语言中可用下标和指针两种方式表示数组元素。
(错)1-6Java语言的源程序不是编译型的,而是编译解释型的。
(对)1-7操作系统中进程和线程两个概念是没有区别的。
(错)1-8Java语言既是面向对象的又是面向网络的高级语言。
(对)1-9Java程序分为两大类:一类是Application程序,另一类是Applet程序。
前者又称Java应用程序,后者又称为Java小应用程序。
(对)1-10Java Application程序是由多个文件组成的,其中可以有也可以没有主文件。