实验报告
课程名称: Java程序设计成绩评定:
实验项目名称:实验5:类构造函数与继承指导教师:
学生姓名:学号:专业班级:
实验项目类型:基础实验地点:验时间:
一、实验目的与要求:
1、理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性,进一步掌握方法调用时参数的传递;
2、掌握package、jar打包功能与应用;
4、掌握类的继承,理解继承中的覆盖现象.
二、实验内容:
1、按照要求完成程序
public class Test{
public static void main(String args[]){
System.out.println("创建父类对象:");
SuperClass sc0 = new SuperClass();
System.out.println(" 创建第一个子类对象:");
SubClass sc1 = new SubClass();
System.out.println(" 创建第二个子类对象:");
SubClass sc2 = new SubClass(1);
}
}
class SuperClass{
SuperClass( ){
System.out.println("父类的构造函数");
}
}
class SubClass extends SuperClass{
SubClass( ){
System.out.println("子类的第一个构造函数");
}
SubClass(int java程序基础实验报告三 i){
System.out.println("子类的第二个构造函数");
}
}
要求:1)运行程序写出结果;
创建父类对象:
父类的构造函数
创建第一个子类对象:
父类的构造函数
子类的第一个构造函数
创建第二个子类对象:
父类的构造函数
子类的第二个构造函数
2)去掉SubClass的所有构造函数,然后将Test类中main方法的最后两行语句删除。预测修改后程序的运行结果,并进行验证。
创建父类对象:
父类的构造函数
创建第一个子类对象:
父类的构造函数
2、首先预测下列程序的运行结果,然后编译、执行以验证你的预测:
class Pet{
protected String name;
public Pet(String n){
name = n;}
public String getName(){
return name;}
public String move(){
return "run";}
public String speak(){
return "";}
public String toString(){
return "My pet " + name;}}
class Dog extends Pet{
protected int weight;
public Dog(String s){
super(s);}}
public class PetTest{
public static void main(String[] args){
Pet myPet = new Pet("George");
Dog myDog = new Dog("Spot");
System.out.println(myPet.toString() + " " + "Speak: " +
myPet.speak() +" " + myPet.move() + " " +
myPet.getName() + " ");
System.out.println(myDog.toString() + " " + "Speak: " +
myDog.speak() +" " + myDog.move() + " "
+myDog.getName() + " ");}}
输出:
My pet George
Speak:
run George
My pet Spot
Speak:
run Spot
1)修改Dog类的构造函数,使之可以初始化Dog类中的weight值。
class Dog extends Pet{
protected int weight;
public Dog(String s,int weight){
super(s);
this.weight=weight;
}
Dog myDog = new Dog("Spot",20);
输出:
My pet George
Speak:
run George
My pet Spot
Speak:
run Spot
2)在Dog类中添加方法getWeight以获
得其weight值。
public int getWeight(){
return this.weight;
}
输出:
My pet George
Speak:
run George
My pet Spot
Speak:
run Spot
3)修改类PetTest,使用新的构造函数创建一个名为“snoopy”,重为10 的Dog类的对象,并利用其方法输出包括重量在内的各项值。
代码:Dog snoopy = new Dog("Snoopy",10);
System.out.println(snoopy.toString() + " " + "Speak: " + snoopy.speak() +" " + snoopy.move() + " " +snoopy.getName() + " "+"它的重量是:
"+snoopy.getWeight()+" ");
4)要使Dog类对象的speak()方法返回值为“Woof Woof”,应如何做?修
改(1)中程序,并验证你的做法。
代码:public Dog(String s,int weight,String speak){
super(s);
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/25345.html