自学Java系列 笔记2 Java类设计1

来源:互联网 发布:微信商城h5源码下载 编辑:程序博客网 时间:2024/06/07 20:52

                            Java类的继承

 

子类继承了父类,就继承了父类的方法和属性。

在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法。

因而,子类通常比父类的功能更多

Java中,继承的关键字用的是extends,即子类不是父类的子集,而是对父类的扩展

关于继承的规则:

子类不能继承父类中私有的(private)的成员变量和方法

 

 

访问控制

publicclass Person { 

 

//仅在类的内部可以访问.

privateString email;

//在同一个包内该属性可以被访问.

Stringmajor;

//在子类中该属性可以被访问,且该子类可以跨包

protectedint salary; 

//访问权限最高,无论是否在一个包内, 无论是否是子类都可以被访问.

publicString name;}

 

 

          覆盖方法

在子类中可以根据需要对从父类中继承来的方法进行改造

 

覆盖方法(方法的重置、重写),在程序执行时,子类的方法将覆盖父类的方法。

覆盖方法必须和被覆盖方法具有相同的方法名称、参数列表和返回值类型。

覆盖方法不能使用比被覆盖方法更严格的访问权限

 

 

       关键字super

在Java类中使用super来引用父类的成分

–   super可用于访问父类中定义的属性

–   super可用于调用父类中定义的成员方法

–   super可用于在子类构造方法中调用父类的构造方法

–   super的追溯不仅限于直接父类

1.super:可以在子类中引用父类的成员,通过 . 的方式:方法和属性。和this 相对应。

 

 

构造方法不能继承 

 

子类继承父类所有的成员变量和成员方法,但不继承父类的构造方法

在一个Java类中可以通过两种方式获得构造方法

1.使用系统默认的无参数构造方法

2.显式定义一个或多个构造方法

一旦显式定义了构造方法,则系统不再提供默认构造方法

     

调用父类构造方法

 

1、在子类的构造方法中可使用super(参数列表)语句调用父类的构造方法

2、如果子类的构造方法中没有显示地调用父类构造方法,也没有使用this关键字调用重载的其它构造方法,则系统默认调用父类无参数的构造方法

3、如果子类构造方法中既未显式调用父类构造方法,而父类中又没有无参的构造方法,则编译出错

注意:

一、 super(…)和this(…)调用语句不能同时在一个构造函数中出现

 二、 super(…)或this(…)调用语句只能作为构造函数中的第一句出现


0 0
原创粉丝点击