实验2 上转型对象
- 格式:doc
- 大小:25.50 KB
- 文档页数:2
第4章测验-4.1继承概念一、单选题(共60.00分)1.下列关于继承的哪项叙述是正确的_______。
A.在java中允许多重继承B.在java中一个类只能实现一个接口C.在java中一个类不能同时继承一个类和实现一个接口D.java的单一继承使代码更可靠正确答案:D2.给出下面代码:1) class Parent {2) private String name;3) public Parent(){}4) }5) public class Child extends Parent {6) private String department;7) public Child() {}8) public String getValue(){ return name; }9) public static void main(String arg[]) {10) Parent p = new Parent();11) }12) }那些行将引起错误?A.第3行B.第6行C.第7行D.第8行正确答案:D3.设有下面两个类的定义:class Person {class Student extends Person{long id; // 身份证号int score; //入学总分String name; // 姓名int getScore() { return score; }}}问:类Person和类Student的关系是()。
A.包含关系B.继承关系(内部类继承了外部类)C.关联关系D.无关系,上述类定义有语法错误正确答案:B二、判断题(共40.00分)1.构造方法不能被继承。
A.正确B.错误正确答案:A2.一个子类可以重新定义从父类那里继承来的同名方法,而且允许它们有不同的返回值类型。
A.正确B.错误正确答案:B第4章测验-4.2成员变量/方法一、单选题(共33.20分)1.看下面一段程序:class Aclass{void go(){System.out.println(“Aclass“);}}public class Bclass extends Aclass{void go{System.out.println(“Bclass“);}public static void main(String args[]){Aclass a=new Aclass();Aclass a1=new Bclass();a.go();a1.go();}以上程序运行结果是:A.Aclass AclassB.Bclass BclassC.Aclass BclassD.Bclass Aclass正确答案:C2.在Java中,以下关于方法重载和方法重定义描述正确的是?A.方法重载和方法的重定义实现的功能相同B.方法重载出现在父子关系中,方法重定义是在同一类中C.方法重载的返回值类型必须一致,参数项必须不同D.方法重定义的返回值类型必须相同或相容。
计算机工程系实验报告课程名称:Java程序设计实验项目名称:JAVA语言实现面向对象编程基础班级:14计科4班姓名:李东峻学号:20140902410一、实验目的:熟悉Java开发环境及简单程序Java设计二、实验要求:1 下载、安装并设置Java SDK 软件包。
2 熟悉Eclipse 编辑软件。
3 掌握运行Java 程序的步骤。
4.编写一个Java应用程序,是用for循环计算8+88+888+8888+88888+...的前十项之和。
5.编写一个类,该类创建的对象可以计算等差数列的和。
6.编写一个类,该类封装了一元二次方程共有的属性和功能,即该类有刻画方程系数的3个成员变量以及计算实根的方法。
要求:该类的所有对象共享常数项。
7.首先编写一个抽象类,要求该抽象类有3个抽象方法:public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x);然后分别给出这个抽象类的3个子类。
要求:在应用程序的主类中是用这些子类创建对象,再让它们的上转型对象调用方法f()、g()和h()。
8.编写一个类,要求该类实现一个接口,该接口有3个抽象方法:public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x);要求:在应用程序的主类中使用该类创建对象,并使用接口回调来调用方法f()、g()和h()。
三、完成程序:1. public class Text3_3{public static void main(String args[]){long a=8;long sum=8;for (int i=1;i<10;i++){a=10*a+a;sum+=a;}System.out.print("8+88+888+8888+88888+...的前10项和"+sum);}}2. import java.util.*;class Sum{int Sn;int n,d;int a1;void getSum(){System.out.println("Sn=n*a1+n*(n-1)*d/2"); }}public class Text4_1{public static void main(String[] args){Scanner reader=new Scanner(System.in); Sum sum=new Sum();System.out.println("输入首项a1:");sum.a1=reader.nextInt();System.out.println("输入公差d:");sum.d=reader.nextInt();System.out.println("输入项数n:");sum.n=reader.nextInt();sum.getSum();}}3. abstract class A{public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x);}class jia extends A{public void f(int x){System.out.println(x+2);}public void g(int x,int y){int z=x+y+2;System.out.println(z);}public double h(double x){return x+2;}}class jian extends A{public void f(int x){System.out.println(x-2);}public void g(int x,int y){int z=x-y-2;System.out.println(z);}public double h(double x){return x-2;}}class cheng extends A{public void f(int x){System.out.println(x*2);}public void g(int x,int y){double z=x*y*2;System.out.println(z);}public double h(double x){return x*2;}}public class Text5_2{public static void main(String args[]) {A a=new jia ();a.f(2);a.g(3,4);System.out.println(a.h(4));a=new jian();a.f(6);a.g(7,8);System.out.println(a.h(8));a=new cheng();a.f(10);a.g(11,12);System.out.println(a.h(12));}}4. interface Fun{public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x);}public class Text5_3 implements Fun{public void f(int x){System.out.println(x);}public void g(int x,int y){System.out.println(x+y);}public double h(double x){return x;}public static void main(String args[]){Fun sz=new Text5_3();sz.f(2);sz.g(3,4);System.out.println(sz.h(5.5));}}四、实验结果抓图及分析:1.分析:使用了for循环使一个数字8每次循环增加一位,比如开始时为8,第一次循环为88,第二次循环为888等等,再用sum把值都累加起来后输出。
实验报告_实验5类与类关系与抽象类(学生学号_姓名)一、实验目的1.理解继承的概念,掌握子类的创建方法;2.熟悉成员变量的隐藏和方法覆盖;3.掌握使用super访问被隐藏、覆盖的基类变量与方法;4.理解继承的层次结构,熟悉构造方法的执行顺序;5.理解访问修饰符的作用,熟悉访问修饰符对子类继承性的影响;6.熟悉子类对象向上转型的实现方法和Object类的基本用法;7.理解多态种类、意义、实现条件及基本应用;8.理解内部类的作用、种类、实现方法及注意事项;9.理解类与类之间的关系,了解单例模式的实现机理;10.理解抽象类、抽象方法概念,熟悉它们的声明、使用。
二、实验内容与步骤1.(基础题)根据题意及注释补充所缺少代码,然后运行程序public Student(){}public Student(String sno, String sname, int age) {this.sname=sname;this.sno=sno;this.age=age;} public String getSno() {return sno;}public void setSno(String sno) {this.sno = sno;}public String getSname() {return sname;}public void setSname(String sname) {this.sname= sname;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}(1): class CollegeStudent extends Student(2): getSno()(3): getSname()(4): getAge()(5): major(6): student.setAge(26)(7): student.setSname("Jack")(8): cstudent.setSname("Jerry")(9): cstudent.setSno("1840700101")(10): cstudent.setAge(23)(11): cstudent.setMajor("物联网工程")回答相关问题:(1)程序中有多少个类,哪个是主类?哪个是基类?哪个是子类?(2)程序中子类继承了基类哪些成员?基类对象如何给成员赋初值?子类对象又是如何给成员赋值?(3)是否可以不定义Student类的无参构造器?2.(基础题)分析、运行以下程序,并回答相关问题:(1)分析程序,找出有问题的代码,请问出错原因是什么?(2)修改程序中的错误。
Person.java源程序清单public class Person{private String name;private int age;public Person(){name = "";age = 0;}public Person(String name,int age){=name;if(age<0){age = 0;}this.age=age;}public void setName(String name){=name;}public String getName(){return name;}public void setAge(int age){if(age<0){age=0;}this.age=age;}public int getAge(){return age;}public void display(){System.out.println("姓名:" + name + "\t年龄:" + age);}}Student.java源程序清单public class Student extends Person{private String schoolName;Student(){schoolName = "";}Student(String name,int age,String schoolName){super(name,age);this.schoolName = schoolName;}public void setSchoolName(String schoolName){this.schoolName = schoolName;}public String getSchoolName(){return schoolName;}public void display(){super.display();System.out.println("学校名称:" + schoolName);}}Worker.java源程序清单public class Worker extends Person{private Long yield;public Worker(){yield = new Long(0);}public Worker(String name,int age,Long yield){super(name,age);this.yield = yield;}public void setYield(Long yield){this.yield = yield;}public Long getYield(){return yield;}public void display(){super.display();System.out.println("产量:"+yield.longValue());}}Viewer.java源程序清单public class Viewer{public void view(Person p){p.display();}}Test.java源程序清单public class Test //含有main()方法的主类{public static void main(String [] args){Student s = new Student("张三",24,"我的JAVA学堂"); //定义Student类变量并实例化Worker w = new Worker("Jone",40,new Long(1005)); //定义Worker类变量并实例化Viewer v = new Viewer();v.view(s); //调用Student对象的实例方法v.view(w); //调用Worker对象的实例方法}}。
教学对象:高中一年级教学时间:2课时教学目标:1. 知识与技能:- 了解物质的转化概念及其分类。
- 掌握物质转化的基本规律和常见转化类型。
- 学会运用化学方程式表示物质转化过程。
2. 过程与方法:- 通过实验探究,培养学生观察、分析、归纳的能力。
- 通过小组讨论,提高学生的合作意识和团队协作能力。
- 通过案例分析,培养学生运用所学知识解决实际问题的能力。
3. 情感、态度与价值观:- 培养学生对化学学科的兴趣,激发学习热情。
- 增强学生的环保意识,认识到化学在生活中的重要作用。
教学重点:1. 物质转化的基本规律和常见转化类型。
2. 化学方程式的书写和应用。
教学难点:1. 物质转化过程中反应条件的判断。
2. 化学方程式的配平。
教学准备:1. 多媒体设备2. 实验器材:试管、滴管、酒精灯、铁架台、烧杯、镊子等3. 教学课件4. 实验药品:盐酸、氢氧化钠、氧化铜、硝酸银、氯化钙、碳酸钠等教学过程:第一课时一、导入1. 回顾初中化学所学知识,引导学生思考物质转化的概念。
2. 提出问题:什么是物质转化?物质转化有哪些类型?二、新课讲授1. 物质转化的基本规律- 物质转化是指物质在化学反应过程中,从一种物质转化为另一种物质的过程。
- 物质转化遵循质量守恒定律,即反应前后各元素的质量总和不变。
- 物质转化遵循原子守恒定律,即反应前后各原子的种类和数目不变。
2. 物质转化的常见类型- 酸碱中和反应- 氧化还原反应- 置换反应- 复分解反应三、实验探究1. 实验一:酸碱中和反应- 实验目的:验证酸碱中和反应,掌握化学方程式的书写方法。
- 实验步骤:取一定量的盐酸,加入氢氧化钠溶液,观察现象;记录实验数据;根据实验现象书写化学方程式。
2. 实验二:氧化还原反应- 实验目的:验证氧化还原反应,掌握氧化剂和还原剂的概念。
- 实验步骤:取一定量的氧化铜,加入盐酸,观察现象;记录实验数据;根据实验现象书写化学方程式。
四、课堂小结1. 回顾本节课所学内容,强调物质转化的基本规律和常见转化类型。
Java2实用教程(第三版)课后习题参考答案第1章 Java入门1. 开发与运行Java程序需要经过哪些主要步骤和过程?答:(1)编写Java源文件:使用文本编辑器(Edit或记事本),拓展名为.java(2)编译Java源文件:使用Java编译器(javac.exe)。
得到字节码文件*.class(3)运行Java程序:Java应用程序使用Java解释器(java.exe)执行字节码文件;Java小应用程序使用支持Java标准的浏览器来执行。
2. 怎样区分应用程序和小应用程序?应用程序的主类或小应用程序的主类必须用public修饰吗?答:①应用程序必须有main方法,这个方法是程序执行的入口。
小应用程序没有main方法。
②应用程序的主类不一定用public修饰;小应用程序的主类必须用public修饰。
3. Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎样的?答:①Java程序由类组成。
②应用程序可以没有public类;小应用程序一定有一个类是public类(主类)。
③应用程序:如果只有一个类,源文件名与该类的类名相同,拓展名为.java;有多个类时,如果有public类(最多一个),源文件名与public类的类名相同,拓展名是.java;没有public类,源文件名与任何一个类的类名相同即可,拓展名为.java。
小应用程序:源文件名与主类的类名相同,拓展名是.java。
4. 在运行小程序的HTML文件中可以使用codebase属性指定小程序的字节码所驻留的目录。
如果不使用codebase属性,小程序的字节码文件必须和运行它的HTML文件在同一目录中。
编写一个小程序并将小程序的字节码存放在某个目录中,比如C:\5000;把运行该小程序的HTML文件(注意其中的codebase属性): <applet code=你的小程序的字节码 width=200 height=300 codebase=C:\5000></applet>存放在另一个目录中。
中小企业数字化转型路径优化实验报告一、引言在当今数字化时代,中小企业面临着日益激烈的市场竞争和不断变化的客户需求。
数字化转型已成为中小企业提升竞争力、实现可持续发展的关键途径。
然而,由于资源有限、技术能力不足等因素,中小企业在数字化转型过程中往往面临诸多挑战。
为了探索适合中小企业的数字化转型路径优化方法,我们进行了一系列实验,并在此基础上撰写了本报告。
二、实验背景与目标(一)实验背景随着信息技术的快速发展和广泛应用,数字化已成为企业创新发展的重要驱动力。
然而,与大型企业相比,中小企业在数字化转型方面存在明显的差距。
许多中小企业对数字化转型的认识不足,缺乏明确的战略规划和有效的实施路径,导致数字化转型效果不佳。
(二)实验目标本实验旨在通过对中小企业数字化转型过程的研究和实践,探索出一套切实可行的数字化转型路径优化方案,帮助中小企业提高数字化转型的成功率和效益。
三、实验对象与方法(一)实验对象本次实验选取了_____家具有代表性的中小企业,涵盖了制造业、服务业、零售业等不同行业。
这些企业在规模、业务模式、数字化基础等方面存在一定的差异,以保证实验结果的普遍性和适用性。
(二)实验方法本实验采用了案例分析、问卷调查、实地调研等多种方法,对中小企业数字化转型的现状、问题和需求进行了深入了解。
同时,结合相关理论和实践经验,提出了数字化转型路径优化的方案,并在实验企业中进行了应用和验证。
四、实验过程与结果(一)数字化转型现状评估通过对实验企业的调研和分析,我们发现中小企业数字化转型主要存在以下问题:1、数字化意识淡薄:许多中小企业对数字化转型的重要性认识不足,缺乏主动推进数字化转型的意愿和动力。
2、资金投入有限:由于资金紧张,中小企业在数字化技术研发、设备购置、人才培养等方面的投入相对较少,制约了数字化转型的进程。
3、技术能力薄弱:中小企业普遍缺乏专业的技术人才和技术团队,难以独立完成数字化系统的开发和维护,对外部技术供应商的依赖程度较高。
一、实验背景学习迁移是指先前学习对后继学习的影响,它可以是正面的,也可以是负面的。
为了探究不同学习条件对迁移的影响,本实验采用对照实验的设计方法,通过两组实验对象在不同学习条件下的表现,来分析学习迁移的效果。
二、实验目的1. 检验不同学习材料对学习迁移的影响。
2. 分析不同学习方式对学习迁移的促进作用。
3. 探讨学习迁移的内在机制。
三、实验材料1. 实验对象:选取20名年龄相仿、学习成绩相当的学生作为实验对象。
2. 实验材料:两组学习材料,分别为A组和B组。
A组材料为文字材料,B组材料为图像材料。
3. 实验工具:笔记本电脑、投影仪、计时器、问卷等。
四、实验方法1. 将20名实验对象随机分为两组,每组10人。
2. 对A组进行文字材料的学习,B组进行图像材料的学习。
3. 学习结束后,两组同时进行迁移测试,测试内容为与学习材料相关的问题。
4. 对两组的迁移测试成绩进行统计分析,比较两组之间的差异。
五、实验步骤1. 实验前,对实验对象进行基本情况调查,包括年龄、性别、学习成绩等。
2. 将实验对象随机分为A组和B组。
3. A组进行文字材料学习,B组进行图像材料学习,学习时间为30分钟。
4. 学习结束后,两组同时进行迁移测试,测试时间为15分钟。
5. 收集实验数据,对数据进行统计分析。
6. 分析实验结果,撰写实验报告。
六、实验结果1. A组(文字材料学习)的迁移测试平均成绩为80分。
2. B组(图像材料学习)的迁移测试平均成绩为90分。
3. 两组之间的平均成绩差异显著(p<0.05)。
七、讨论与分析1. 实验结果表明,图像材料的学习对学习迁移有显著的促进作用,而文字材料的学习对学习迁移的影响不明显。
2. 这可能与图像材料更直观、易于理解的特点有关。
图像材料可以帮助学生更好地理解学习内容,从而提高迁移效果。
3. 在实际教学中,教师可以根据学生的学习特点和需求,合理选择学习材料,以提高学习迁移的效果。
八、结论本实验结果表明,图像材料的学习对学习迁移有显著的促进作用。