JAVA中类的继承的理解

  • 格式:doc
  • 大小:49.00 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA中类的继承的理解

Java类的继承可以是多层的,但不能是多头的。也就是说类只能继承一个类而不能继承多个类。好比一个人只能有一个爹,不能有多个爹,当然爹上面还能有爹。

类实现继承的格式:class子类名extends 父类名

类的继承有三方面的内容,一是父类变量与方法的继承,二是父类变量与方法的覆写或称之为重载,三是super与this的使用区别。

类的继承使用范例:

class Person

{

String name;

int age;

}

class Student extends Person

{

String school;

}

Public class TestPersonStudentDemo

{

public static void main(String[] args)

{

Student s = new Student();//实例化了Student类s

= “张三”; //访问Person类中的name属性

s.age = 25; //访问Person类中的age属性

s.school = “北京” ; //访问Student类中的school属性

System.out.println(“姓名:”++”,年龄:”+s.age+”,学校:”+s.school);

}

}

子类在继承父类中的方法与属性时,首先会执行父类中的构造方法,再执行子类中的构造方法。一般子类中隐含了super()语句(super主要的功能是完成子类调用父类中的内容)。

类的继承使用范例1:

class Person

{

String name;

int age;

//父类中的构造方法

public Person(String name,int age)

{

= name;

this.age = age;

}

}

class Student extends Person

{

String school;

//子类中的构造方法

public Student()

{

//在这里用super调用父类中的构造方法

super(“张三,25”); //明确调用父类二参数的构造方法

}

}

Public class TestPersonStudentDemo1

{

public static void main(String[] args)

{

Student s = new Student(); //实例化了Student类s

s.school = “北京” ; //为Student类中的school赋值

System.out.println(“姓名:”++”,年龄:”+s.age+”,学校:”+s.school);

}

}

super可以调用父类中的方法,也可以调用父类中的属性。

类的继承使用范例2:

class Person

{

String name;

int age;

public Person() //无参构造方法

{

}

public String talk()

{

return “我是:”++”,今年:”+this.age+”岁”;

}

}

class Student extends Person

{

String school;

public Student(String name,int age,String school) //Student子类的构造方法,构造时要提供三个参数

{

= name; //调用父类中的属性

super.age = age; //调用父类中的属性

System.out.println(super.talk()); //调用父类中的方法

this.school = school; //调用本类中的属性

}

}

Public class TestPersonStudentDemo2

{

public static void main(String[] args)

{

Student s = new Student(“张三”,25,“北京” );//实例化了Student类s,构造时要提供三个参数,否则会出现“构造函数Student()未定义的”错误System.out.println(“,学校:”+s.school);

}

}

覆写与重载(概念相似)

子类中的变量或方法,可以与父类中的一样,这时子类的变量与方法就“覆写”了父类的变量与方法,或称之为变量与方法的“重载”。

super与this最大的区别是,super调用的是父类中的变量或方法,当子类继承了父类中的变量或方法时,this和super的作用一样。当子类的变量或方法覆写了父类中的变量或方法时,由于覆写时子类和父类的变量名称或方法名称是一样的,这时super就会去调用父类中的变量或方法,而this只能调用子类中的变量或方法。当然明确为private类型的变量与方法还是不能调用的。