- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2010年自考英语“英语国家概况”冲刺练习
4.3 继承和多态;子类的直接父类是该子类直接继承的类,而间接父类则是两级或两级以上的父类。子类只能有一个直接父亲,称单继承。JAVA中只允许单继承,即仅允许每个类有一个直接父类,不允许有多个直接父类,但一个类可以有多个子类。; 子类可以继承父类的构造函数,构造函数的继承遵循以下的原则:
子类无条件地继承父类的不含参数的构造函数。
若子类没有定义自己的构造函数,它将继承父类无参数的构造函数作为自己的构造函数。
若子类定义了自己的构造函数,它先执行继承自父类的无参数构造函数,再执行自己的构造函数。
对父类含参数的构造函数,子类可以通过在定义自己的构造函数中使用super关键字来调用它,但这个调用语句必须是子类构造函数的第一个可执行语句。;例:要求定义三个类:Person类,Student类,测试使用Student类的应用程序类TestStudent.java。其中Person类是Student类的直接父类,定义了姓名、性别、年龄,在Student类中,定义了数学、语文课成绩,并求平均成绩。;//Person.java
public class Person
{
protected String name;
protected char sex;
protected int age;
public Person()
{ }
public Person(String str,char ch,int i)
{
name=str;sex=ch;age=i;
}
public String toString()
{
return 姓名:+name+性别:+sex+年龄:+age;
}
};//Student.java
public class Student extends Person
{
protected int chinese,math;
public Student()
{ }
public Student(String str,char ch,int x,int y,int z)
{
name=str;sex=ch;age=x;
chinese=y;
math=z;
}
public int average()
{
return (chinese+math)/2;
}
};//TestStudent.java
public class TestStudent
{
public static void main(String args[])
{
Student s1=new Student();
System.out.println(“s1:”+s1.toString()+“成绩;+s1.average());
Student s2=new Student(Tom,m,25,88,97);
System.out.println(s2:+s2.toString()+成绩;+s2.average());
}
};程序运行后,结果为多少?;4.3.2 子类对父类的变量隐藏和方法覆盖;方法的覆盖:
子类重新定义从父类继承来的同名方法。即:方法头与父类一样,方法体不一样。这也是Java多态性的表现之一。;//Automobile.java
public class Automobile
{
public double speed;
Automobile()
{
speed=200.0;
}
public double get_speed()
{
return speed;
}
};//Car.java
public class Car extends Automobile
{
public double speed;
Car()
{ speed=0.0; }
public double add_class()
{
speed=speed+1;
return speed;
}
public double add_fa_class()
{
super.speed=super.speed+1;
return speed;
}
}
;//TestCar.java
public class TestCar
{
public static void main(String args[])
{
car c1=new car();
System.out.println(speed of car:+c1.add_class(
文档评论(0)