- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 继承、接口与的泛型
第5章 继承、接口与泛型;第5章 继承、接口与泛型;第5章 继承、接口与泛型;5.1 子类与父类;5.1 子类与父类;5.2 子类的继承性;;class Person{
String name ;
int age ;
}
class Student extends Person{
String school ;
}
public class jicheng {
public static void main(String[] args) {
Student s = new Student() ;
// 访问Person类中的name属性
s.name = 张三 ;
// 访问Person类中的age属性
s.age = 25 ;
// 访问Student类中的school属性
s.school = 北京 ;
System.out.println(姓名:+s.name+,年龄:+s.age+,学校:+s.school) ;
}
};;5.2 子类的继承性;5.2 子类的继承性;注意:
在java中只允许单继承,而不允许多重继承,也就是说一个子类只能有一个父类,但是java中却允许多层继承。
多重继承:
class A{}
class B{}
class C extends A,B{}
由上面可以发现类C同时继承
了类A与类B,也就是说C类同时
继承了两个父类,这在JAVA中
是不允许的。;多层继承:
class A
{}
class B extends A
{}
class C extends B
{}
由上面可以发现类B继承了
类A,而类C又继承了类B,也
就是说类B是类A的子类,而
类C则是类A的孙子类。;5.3 子类对象的构造过程;5.3 子类对象的构造过程;5.4 成员变量的隐藏和方法的重写 ;5.4 成员变量的隐藏和方法的重写;;范例:TestOverDemo1.java
01 class Person
02 {
03 String name ;
04 int age ;
05 public String talk()
06 {
07 return 我是:+this.name+,今年:+this.age+岁;
08 }
09 }
10
11 class Student extends Person
12 {
13 String school ;
14 public Student(String name,int age,String school)
15 {
16 // 分别为属性赋值
17 this.name = name ;
18 this.age = age ;
19 this.school = school ;
20 }
21 // 此处复写Person中的talk()方法
22 public String talk()
23 {
24 return 我在+this.school+上学 ;
25 }
26 };27
28 class TestOverDemo1
29 {
30 public static void main(String[] args)
31 {
32 Student s = new Student(张三,25,北京) ;
33 // 此时调用的是子类中的talk()方法
34 System.out.println(s.talk()) ;
35 }
36 }
输出结果:
我在北京上学
24 return super.talk()+,我在+this.school+上学 ;;5.4 成员变量的隐藏和方法的重写;5.4 成员变量的隐藏和方法的重写;5.4 成员变量的隐藏和方法的重写;5.5 Super 关键字;范例:TestPersonStudentDemo4.java
01 class Person
02 {
03 String name ;
04 int age ;
05 // 父类的构造方法
06 public Person(String name,int age)
07 {
08 this.name = name ;
09 this.age = age ;
10 }
11 }
12 class Student extends Person
13 {
14 String school ;
15 // 子类的构造方法
16 public Student()
17 {
18 // 在这里用super调用父类中的构造方法
19 super(张三,25);
20 }
21 }
22;23 public class TestPersonStudentDemo4
24 {
25 public s
文档评论(0)