Java继承与多态实验报告课案

合集下载

实验三 继承和多态

实验三 继承和多态

实验三继承和多态一、实验目的1.熟练掌握封装性,多态性的概念。

2.熟练掌握抽象类abstract的概念。

3.熟练掌握接口interface的概念。

4.熟练包package的概念以及编译运行的方法。

二、实验内容1.编写一个Java Application程序,该程序有个点Point类,它包含横坐标x和纵坐标y 两个属性,再给Point定义两个构造方法和一个打印点坐标的方法Show。

定义一个圆Circle 类,它继承Point类(它是一个点,圆心(Center)),除此之外,还有属性半径Radius,再给圆定义2个构造方法、一个打印圆的面积的方法PrintArea和一个打印圆中心、半径的方法Show(其中显示圆心可以用super.Show()的方式)。

package实验三;public class Point {double x,y;public Point(){x=0;y=0;}public Point(double x,double y){this.x=x;this.y=y;}public String Show(){return"横坐标为:"+this.x+",纵坐标为:"+this.y;}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubPoint a=new Point(3.0,4.0);System.out.println(a.Show());}}package实验三;public class Circle extends Point {double Radius;public Circle(){super(0,0);Radius=0;}public Circle(double x,double y,double z){super(x,y);Radius=z;}public String Show(){System.out.println("圆心的"+super.Show()+"半径为:"+Radius);return"圆心的"+super.Show()+"半径为:"+Radius;}public String PrintArea(){System.out.println("圆的面积为:"+Math.PI*Radius*Radius);return"圆的面积为:"+Math.PI*Radius*Radius;}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubCircle a=new Circle(3,4,5);a.Show();a.PrintArea();}}2.编写一测试类,对其进行编译、运行。

Java实验报告二[面向对象特性继承、封装、多态]

Java实验报告二[面向对象特性继承、封装、多态]

J a v a面向对象编程实验报告题目:继承、封装、多态专业:计算机科学与技术班级:学号: 2姓名:2014年 5 月 4 日一、实验目的与要求1、掌握面向对象编程中的封装特性3、掌握面向对象编程中的继承特性4、掌握面向对象编程中的多态特性实验内容根据如下类图创建每个类并进行以上内容的相关测试三、实施步骤1):在Eclipse中创建一个抽象的MobilePhone父类,用abstract关键字修饰这个类,并且写入构造方法,类名如:MobilePhone_FatherClass2):再给MobilePhone父类编写入一些抽象的属性和方法,并实现get(),set()方法(获取属性的方法)3)再创建四个子类继承MobilePhone父类,实现Student父类的方法,并且分别写入这些子类的自己的方法:NOKIA1:message();NOKIA2:netpay();MOTOROLA1:message();MOTOROLA2:metpay();4)再创建一个测试类:MobilePhoneTest ,实例化NOKIA1,NOKIA2,MOTOROLA1,MOTOROLA2四个子类,实现多态的输出!四、实验结果整个工程的类结构如下:①:MobilePhone父类:MobilePhone_FatherClass②:四个子类:NOKIA1,NOKIA2,MOTOROLA1,MOTOROLA2:(方法类似,只展示一个):③:测试类:MobilePhoneTest④:实验结果:五、出现的问题及解决的方法问题:抽象类的分析,多态的实现解决方法:关键字abstract,需要继承父类使用extends关键字,不使用abstract修饰的类也是可以作为父类的!通过这次实验,我懂得了封装和继承是实现多态的前提,使自己更深的理解的封装,继承,多态的重要性。

Java实验报告继承、多态、接口和异常处理

Java实验报告继承、多态、接口和异常处理

Java实验报告继承、多态、接⼝和异常处理实验5 继承、多态、接⼝和异常处理⼀、实验⽬的1、掌握Java的类和对象的声明和使⽤⽅法;2、掌握Java的类的继承和实现⽅法;3、掌握多态性在类的继承中的运⽤;4、掌握接⼝的定义与使⽤;5、掌握基本异常的处理机制;6、熟悉try语句与catch语句的搭配使⽤;7、了解有异常处理与没有异常处理的差别;8、多重catch语句的使⽤;9、使⽤Throws声明异常和Throw抛出异常。

⼆、实验环境1、PC微机;2、DOS操作系统或 Windows 操作系统;3、Java sdk程序开发环境、eclipse集成环境。

三、实验内容1. 设计三个类,分别是学⽣类Student,本科⽣类UnderGraduate,研究⽣类Postjgraduate,其中Student类是⼀个抽象类,它包含学⽣的基本信息如姓名、所学课程、课程成绩等,⽽Undergraduate类和Postgraduate类都是Student类的⼦类,这两个类计算课程成绩等级的⽅法有所不同,如下表所⽰。

假设某班级⾥既有研究⽣⼜有本科⽣,编写程序统计出全班学⽣2. 和Mobilephone具体实现,并设计⼀个应⽤程序类来使⽤这些类。

3.要求设计⼀个GUI图形窗⼝程序,该程序让⽤户输⼊⼀个星期中的任意⼀天的数字1-7,然后输出该数字所对应的是星期⼏。

四、实验步骤实验内容⼀1.建⽴package experiment5_1,其最终⽬录结构如下:2.建⽴Student类:package experiment5_1;public abstract class Student {final static int CourseNo = 3;String name;String type;int[] courses;String courseGrade;public Student(String name) {/doc/1bd4a299a66e58fafab069dc5022aaea998f41e2.html = name; courses = new int[CourseNo];courseGrade = "" ;}public abstract void calculateGrade();public String getName( ) {return name;}public String getType( ) {return type ;}public String getCourseGrade( ) {return courseGrade;}public int getCourseScore(int courseNumber) {return courses[courseNumber];}public void setName(String name) {/doc/1bd4a299a66e58fafab069dc5022aaea998f41e2.html = name;}public void setType(String type) {this.type = type;}public void setCourseScore(int courseNumber, int courseScore) { //按课程索引号设置课程成绩this.courses[courseNumber] = courseScore ;}}3.建⽴外部类(1)研究⽣类Postjgraduatepackage experiment5_1;public class postgraduate extends Student {public postgraduate(String name) {super(name);type = "研究⽣";}public void calculateGrade() {// TODO Auto-generated method stubint total = 0;double average = 0;for (int i = 0; i < CourseNo; i++) {total += courses[i];};average = total / CourseNo;if (average>=90&&average<100) courseGrade = "优秀"; else if (average>=80&&average<90) courseGrade = "良好"; else if (average>=70&&average<80) courseGrade = "⼀般"; else if (average>=60&&average<70) courseGrade = "及格"; else courseGrade = "不及格";}}(2)本科⽣类UnderGraduatepackage experiment5_1;public class undergraduate extends Student {public undergraduate(String name ) {super(name);type = "本科⽣";}public void calculateGrade() {int total = 0;double average = 0;for (int i = 0; i < CourseNo; i++) {total += getCourseScore(i) ;};average = total / CourseNo;if (average>=80&&average<100) courseGrade = "优秀"; else if (average>=70&&average<80) courseGrade = "良好"; else if (average>=60&&average<70) courseGrade = "⼀般"; else if (average>=50&&average<60) courseGrade = "及格"; else courseGrade = "不及格";}}4.编写代码测试函数package experiment5_1;public class polymorphism {public static void main(String[] args) {Student[] students = new Student[5];students[0] = new undergraduate("陈建平");students[1] = new undergraduate("鲁向东");students[2] = new postgraduate("匡晓华");students[3] = new undergraduate("周丽娜");students[4] = new postgraduate("梁欣欣");for (int i=0; i<5 ;i++) {students[i].setCourseScore(0,87);students[i].setCourseScore(1,90);students[i].setCourseScore(2,78);}for (int i=0; i<5 ;i++) {students[i].calculateGrade();}System.out.println("姓名" + " 类型" +" 成绩");System.out.println("-----------------------");for (int i=0; i<5 ;i++) {System.out.println(students[i].getName( )+" "+students[i].getType( )+" "+students[i].getCourseGrade( ));}}}实验内容⼆1.建⽴package experiment5_2,其最终⽬录结构如下:2.写接⼝Soundable代码:package experiment5_2;public interface Soundable {public void increaseV olume( );public void decreaseV olume( );public void stopSound( );public void playSound( );}3.创建三个类Radio、Walkman和Mobilephone具体实现,分别添加代码:// Mobilephone类package experiment5_2;class Mobilephone implements Soundable{public void increaseV olume( ) {System.out.println("增⼤⼿机⾳量");}public void decreaseV olume( ) {System.out.println("减⼩⼿机⾳量");}public void stopSound( ) {System.out.println("关闭⼿机");}public void playSound( ) {System.out.println("⼿机发出来电铃声");}}// Walkman类package experiment5_2;class Walkman implements Soundable { public void increaseV olume( ) { System.out.println("增⼤随声听⾳量"); }public void decreaseV olume( ) { System.out.println("减⼩随声听⾳量"); }public void stopSound( ) {System.out.println("关闭随声听");}public void playSound( ) {System.out.println("随声听发出⾳乐"); }}// Radio类package experiment5_2;class Radio implements Soundable{ public void increaseV olume( ) { System.out.println("增⼤收⾳机⾳量"); }public void decreaseV olume( ) { System.out.println("减⼩收⾳机⾳量"); }public void stopSound( ) {System.out.println("关闭收⾳机");}public void playSound( ) {System.out.println("收⾳机播放⼴播"); }}4.创建people类及编写测试代码://People类package experiment5_2;class People {public void listen(Soundable s) {s.playSound( );}}//测试代码package experiment5_2;import java.util.Scanner;public class InterfaceTest {public static void main(String[] args) {int i;People sportsman = new People( );Scanner scanner = new Scanner(System.in);Soundable[] soundDevice = new Soundable[3];//往声⾳设备数组中放⼊能发声的设备soundDevice[0] = new Radio( );soundDevice[1] = new Walkman( );soundDevice[2] = new Mobilephone();System.out.println("你想听什么? 请输⼊选择:0-收⾳机1-随声听2-⼿机");i = scanner.nextInt( );//开始听声⾳sportsman.listen(soundDevice[i]);soundDevice[i].increaseV olume( );soundDevice[i].stopSound();scanner.close();}}实验内容三1.建⽴package experiment5_3,其最终⽬录结构如下package experiment5_3;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class DateTransf extends JFrame implements KeyListener{/****/private static final long serialVersionUID = 1L;private static DateTransf frm;private static JTextField txt;private static JTextField data;DateTransf() {setTitle("数字与星期转换");setLocation(700, 300);setSize(400,130);}public static void main(String[] args) {frm = new DateTransf();frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frm.setLayout(new GridLayout(2,2));txt = new JTextField(12);data = new JTextField(12);JLabel lable1 = new JLabel("输⼊数字:");JLabel lable2 = new JLabel("星期⼏:");frm.add(lable1);txt.addKeyListener(frm);frm.add(txt);frm.add(lable2);frm.add(data);frm.setVisible(true);}public void keyPressed(KeyEvent e) {if (e.getSource() == txt) {if (e.getKeyCode() == KeyEvent.VK_ENTER) // 判断按下的键是否是回车键{try {int number = Integer.parseInt(txt.getText());switch (number) {case 1:data.setText("Mon");break;case 2:data.setText("Tue");break;case 3:data.setText("Wen");break;case 4:data.setText("Thu");break;case 5:data.setText("Fri");break;case 6:data.setText("Sat");break;case 7:data.setText("Sun");break;default:JOptionPane.showMessageDialog(null, "您输⼊的数字不是1~7","⽆效⽇期",/doc/1bd4a299a66e58fafab069dc5022aaea998f41e2.html RMATION_MESSAGE); break;}}catch (Exception e1) {// TODO: handle exceptionJOptionPane.showMessageDialog(null, "您输⼊的不是整数","⽆效⽇期",/doc/1bd4a299a66e58fafab069dc5022aaea998f41e2.html RMA TION_MESSAGE); }}}}public void keyReleased(KeyEvent e) {}public void keyTyped(KeyEvent e) {}}2.编译运⾏五、实验结果●实验内容⼀结果:●实验内容⼆结果:●实验内容三结果:六、实验⼩结1.这次实验的内容⽐较多,需要掌握Java的类和对象的声明和使⽤⽅法、Java的类的继承和实现⽅法、多态性在类的继承中的运⽤、接⼝的定义与使⽤、基本异常的处理机制、try语句与catch语句的搭配使⽤等等;2. 在实验过程中,重点是要区分好实例和类,灵活掌握类的调⽤。

《java面向对象程序设计-继承和多态》教案

《java面向对象程序设计-继承和多态》教案

1. 理解继承的概念及其在Java中的应用。

2. 掌握如何使用extends关键字来实现继承。

3. 理解多态的概念及其在Java中的应用。

4. 掌握如何使用implements关键字来实现多态。

5. 能够运用继承和多态编写更加灵活和可扩展的Java程序。

二、教学内容1. 继承的概念和作用引入继承的概念,解释其作用和意义。

通过实例演示继承的效果。

2. 使用extends关键字实现继承介绍extends关键字的用法。

示例演示如何使用extends实现继承。

3. 多态的概念和作用引入多态的概念,解释其作用和意义。

通过实例演示多态的效果。

4. 使用implements关键字实现多态介绍implements关键字的用法。

示例演示如何使用implements实现多态。

5. 继承和多态的联合使用解释继承和多态联合使用的效果。

通过实例演示继承和多态的联合使用。

1. 采用案例教学法,通过具体的实例来讲解继承和多态的概念和使用方法。

2. 使用互动式教学法,鼓励学生积极参与讨论和提问,以加深对知识点的理解。

3. 使用代码演示和调试,让学生直观地看到继承和多态的效果。

四、教学步骤1. 引入继承的概念,解释其作用和意义。

2. 介绍extends关键字的用法,并通过示例演示如何使用extends实现继承。

3. 引入多态的概念,解释其作用和意义。

4. 介绍implements关键字的用法,并通过示例演示如何使用implements实现多态。

5. 示例演示继承和多态的联合使用。

五、教学评估1. 课堂练习:要求学生编写简单的Java程序,运用继承和多态来实现特定的功能。

2. 课后作业:布置相关的编程作业,要求学生运用继承和多态来解决实际问题。

3. 课堂讨论:鼓励学生积极参与讨论,提问和解答问题,以评估学生对知识点的理解程度。

六、教学内容(续)6. 继承和多态的应用场景分析实际编程场景中继承和多态的运用。

通过案例展示继承和多态如何提高代码的可复用性和可维护性。

继承与多态java

继承与多态java
{
super(newsurname,newname,newssn);
hourly=newhourly;
hours=newhours;
}
public void weeksalary()
{ week=hourly*hours;
}
public String toString()
{ return surname+name+"\t"+ssn+"\t"+week;
专业班级
通信1102(移动方向)
姓名
学号
时间:2013.11.11
地点:计通学院106机房
实验名称:继承与多态
实验前任务
实验目的:
1.理解继承是如何促进软件重用的
2.理解父类和子类的概念
3.能够通过继承已有的类来创建新类,并能吸收其属性和行为
4.理解访问修饰符protected
5.更够用关键字super访问父类成员
AmericanPeople americanPeople=new AmericanPeople();
BeijingPeople beijingPeople=new BeijingPeople();
chinaPeople.speakHello();
americanPeople.speakHello();
注:用相应的输出语句表示出语义即可。
3.抽象类和抽象方法。定义一个抽象类Shape,类里有一个抽象方法display();定义一个Cricle类,继承了Shape类,并实现抽象方法display();定义一个Rectangle类,继承了Shape类,并实现抽象方法display();定义一个Triangle类,继承了Shape类,并实现抽象方法display();定义一个类,实例化上述几个类的对角,并使用上述几个类的display方法。注:用相应的输出语句表示出语义即可

Java继承与多态实验报告

Java继承与多态实验报告

西安邮电大学(计算机学院)课内实验报告实验名称:继承与多态专业名称:计算机科学与技术班级:计科1405班学生姓名:高宏伟学号:04141152指导教师:刘霞林实验日期:2016.10.13一、实验目的通过编程和上机实验理解Java 语言的继承和多态特性,掌握变量的隐藏、方法的覆盖、重载,掌握抽象类和接口的使用。

二、实验要求1.编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。

2.编写体现类的多态性(成员方法重载)的程序。

3.编写体现类的多态性(构造方法重载)的程序。

4.编写使用接口的程序。

三、实验内容(一)类的继承1.创建公共类Student.(1)编写程序文件Student.java,源代码如下:public class Student{protected String name; //具有保护修饰符的成员变量protected int number;void setData(String m,int h) //设置数据的方法{name =m;number= h;}public void print() //输出数据的方法{System.out.println(name+", "+number);}}(2)编译Student.java,产生类文件Student.class。

2.创建继承的类Undergraduate(1)程序功能:通过Student 类产生子类undergraduate,其不仅具有父类的成员变量name(姓名)、number(学号),还定义了新成员变量academy(学院)、department (系)。

在程序中调用父类的print 方法。

(2)编写Undergraduate 程序:class Undergraduate extends Student{【代码1】//定义成员变量academy【代码2】//定义成员变量departmentpublic static void main(String args[]){【代码3】//创建一个学生对象s【代码4】//用父类的setData方法初始化对象s【代码5】//对象s调用print方法【代码6】//创建一个大学生对象u【代码7】//调用父类的成员方法setData初始化对象u【代码8】//设置对象u的成员变量academy【代码9】//设置对象u的成员变量departmentSystem.out.print(+", "+u.number+", "+u.academy+", "+u.department);}}(3)编译并运行程序注意:公共类Student 与undergraduate 类要在同一文件夹(路径)内。

《java面向对象程序设计继承和多态》教案

《java面向对象程序设计继承和多态》教案

《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 案例分析:图形库的设计通过分析图形库的设计,展示继承和多态如何用于实现复杂的图形操作。

实验4 继承性和多态

实验4 继承性和多态

实验四继承性和多态一、实验目的:熟悉JA V A中的继承性和多态性。

掌握子类的定义及用法,继承机制中的隐藏与覆盖。

子类的构造方法的用法,对象的上转型对象,抽象类与抽象方法等。

二、实验要求:1.根据下面的要求,编写Java应用程序实现:编写程序模拟中国人、美国人是人、北京人是中国人。

除主类外,程序中还有4个类:People、ChinaPeople、AmericanPeople和BeijingPeople类。

要求如下:●People类有权限是protected的double型成员变量height和weight,以及public voidspeakHello()、public void averageHeight()和public void averageWeight()方法。

●ChinaPeople类是People的子类,新增了public void chinaGongfu()方法。

要求ChinaPeople重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法。

●AmericanPeople类是People的子类,新增public void americanBoxing()方法。

要求AmericanPeople重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法。

●BeijingPeople类是ChinaPeople的子类,新增public void beijingOpera()方法。

要求ChinaPeople重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安邮电大学
(计算机学院)
课内实验报告
实验名称:继承与多态
专业名称:计算机科学与技术
班级:计科1405班
学生姓名:高宏伟
学号:04141152
指导教师:刘霞林
实验日期:2016.10.13
一、实验目的
通过编程和上机实验理解Java语言的继承和多态特性,掌握变量的隐藏、方法的覆盖、重载,掌握抽象类和接口的使用。
publicclassStudent
{
protectedString name; //具有保护修饰符的成员变量
protectedintnumber;
void setData(String m,int h) //设置数据的方法
{
name=m;
number= h;
}
public void print() //输出数据的方法
{
System.out.println(name+", "+number);
}
}
(2)编译Student.java,产生类文件Student.class。
2.创建继承的类Undergraduate
(1)程序功能:通过Student类产生子类undergraduate,其不仅具有父类的成员变量
name(姓名)、number(学号),还定义了新成员变量academy(学院)、department
二、实验要求
1.编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。
2.编写体现类的多态性(成员方法重载)的程序。
3.编写体现类的多态性(构造方法重载)的程序。
4.编写使用接口的程序。
三、实验内容
(一)类的继承
1.创建公共类Student.
(1)编写程序文件Student.java,源代码如下:
g.drawString("数组的排序结果:"+s.sort(arr),30,90);
}
}
(3)编译并运行程序
(4)编写Sort类文件的页面文件sort.html
<html>
<applet codebase=e:/java/程序code=KY3_11.class width=420 height=380>
}
public String sort(int arr[]) {
String s="";
int swap;
for (int i=0; i<arr.length; i++)
for (int j=0; j<arr.length-1; j++)
if (arr[j]>arr[j+1]) {
swap=arr[j];
int a=30, b=12, c=40;
int arr[]={34,8,12,67,44,98,52,23,16,16};
g.drawString("两个数的排序结果:"+s.sort(a,b),30,30);
g.drawString("三个数的排序结果:"+s.sort(a,b,c),30,60);
}
【代码2】//定义一个构造方法,参数为name,用name初始化成员变量userName
【代码3】//定义一个构造方法的头部,参数为name和pwd
{
【代码4】//调用上个构造方法初始化userName
【代码5】//初始化成员变量password
check();
}
void check() {
String s=null;
arr[j]=arr[j+1];
arr[j+1]=swap;
}
for (int i=0; i<arr.length; i++)
s=s+arr[i]+"";
return s;
}
}
public classSortextends Applet {
IntSort s=new IntSort();
public void paint(Graphics g) {
{
【代码3】//创建一个学生对象s
【代码4】//用父类的setData方法初始化对象s
【代码5】//对象s调用print方法
【代码6】//创建一个大学生对象u
【代码7】//调用父类的成员方法setData初始化对象u
【代码8】//设置对象u的成员变量academy
【代码9】//设置对象u的成员变量department
System.out.print(+", "+u.number+", "+u.academy+", "+u.department);
}
}
(3)编译并运行程序
注意:公共类Student与undergraduate类要在同一文件夹(路径)内。
(二)方法的重载
(1)程序功能:对不同的数进行排序输出。在IntSort类中定义3个同名的方法sort。
}
public String sort(int a, int b, int c) {
int swap;
if (a<b) {
swap=a;
a=b;
b=swap;
}
if (a<c) {
swap=a;
a=c;
c=swap;
}
54
if (b<c) {
swap=b;
b=c;
c=swap;
}
return a+""+b+""+c;
(2)编写Sort.java文件,源代码如下。
import java.awt.Graphics;
import java.applet.Applet;
class IntSort {
public String sort(int a, int b) {
if (a>b)
return a+""+b;
else
return b+""+a;
</applet >
</html>
(三)构造方法的重载
(1)编写构造方法User的重载程序文件RunDemo,源代码如下。
classUser{
private String userName, password;
【代码1】//定义一个无参构造方法的头部
{
System.out.println("全部为空!");
if (userName!=null)
s="用户名:"+userName;
else
s="用户名不能为空!";
if (password!="12345678")
(系)。在程序中调用父类的print方法。
(2)编写Undergraduate程序:
classUndergraduateextendsStudent
{
【代码1】//定义成员变量academy
【代码2】//定义成员变量department
public static void main(String args[ห้องสมุดไป่ตู้)
相关文档
最新文档