- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java基础之构造方法与继承多态doc
构造方法
主要作用是进行对象初始化
与类同名,没有返回值
没有定义的时候,编译器会自动生成一个
public Student() {
super(); //调用父类的无参构造方法
}
构造方法可以重载
public Student(String stuNo, String name) {
this.stuNo = stuNo;
this.name = name;
System.out.println(有参构造方法被调用 );
}
构造方法 用 new 关键字进行调用
stu = new Student(S003, 杰克); //new 关键字 在堆中 分配对象的存储空间
对象创建时的初始化过程
new 关键字分配内存,并将各个 字段 置为空值 (基本型为0,引用型为null)
对字段赋 初值
调用构造方法进行初始化
继承
继承就是一种由已有的类创建新类的机制,是指在已有类的基础上扩展功能。继承中分为子类和父类
类可以有两种重要的成员:成员变量和方法。子类的成员中有一部分是子类自己声明定义的,另一部分是从它的父类继承的。
1.所谓子类继承父类的成员变量作为自己的一个成员变量,就好象它们是在子类中直接声明一样,可以被子类中自己声明的任何实例方法操作.
所谓子类继承父类的方法作为子类中的一个方法,就象它们是在子类中直接声明一样,可以被子类中自己声明的任何实例方法调用。
//getName()方法从父类中继承,无需再次定义
//public String getName(){ //return this.name; //}
//子类可以覆盖(重写)父类中定义的方法
public void sayHello(){
System.out.println(hello from Sub!);
}
@Override
public void print() {
super.print(); //调用父类被重写了的方法
System.out.println(address= + address);
}
(1) Java只支持单一继承,也就是只有一个父类,利用extends 关键字继承;
(2)当子类拥有和父类相同的方法定义(即返回类型、方法名、参数列表完全相同时,仅方法体不一样),称之为方法重写(OverRide);
1对于子类创建的一个对象,如果子类重写了父类的方法,则运行时系统调用子类重写的方法,如果子类继承了父类的方法(未重写),那么子类创建的对象也可以调用这个方法,只不过方法产生的行为和父类的相同而已。
2重写父类方法时不可以降低方法的访问权限
3如果重写了父类的方法后使用父类的被重写方法,可以在子类的方法中使用super.被重写方法();
3子类不继承父类的构造方法
4子类的构造方法必须调用父类的构造方法
1 如果子类的构造方法中没有显式地调用父类构造方法,也没有使用this关键字调用重载的其它构造方法,则系统默认调用父类无参数的构造方法,相当于省略了super();语句
public Sub(){
//super(); //调用父类无参构造方法
}
2 如果子类构造方法中既未显式调用父类构造方法,而父类中只有有参数的构造方法,没有无参的构造方法,则编译出错
3 在子类的构造方法中可使用语句super(argument_list) 调用父类的构造方法,但必须作为构造方法的第一条句。
public Sub(String name, int count){
super(name, count); //调用父类有两个参数的构造方法
}
5 子类在实例化时实际上先调用父类的构造方法,后调用的子类的构造方法。
new 关键字分配内存,并将各个 字段 置为空值 (基本型为0,引用型为null)
对父类字段赋 初值
调用父类构造方法进行初始化
对子类字段赋 初值
调用子类构造方法进行初始化
访问控制符
访问控制符包括:public,protected,default,private。分别代表了不同的访问权限。如果省略,则被视为使用了默认的default作为访问修饰符。从字面含义上面理解,很显然,这几个访问控制符(public - protected - default -private)所代表的访问权限是依次递减的。
public:权限最大,不受类、包等的限制,都可以访问。
protected:次于public,限制之处在于如果不再同一个包中,只有和它存在继承关系的子类才可以访问它。
default:进一步受限,必须是同一个包才能访问。
private:这个就将权限限制在了类中,只有同一个类
您可能关注的文档
最近下载
- (安卓手机刷机包制作.doc VIP
- 学生如何预防颈椎疾病.pptx VIP
- 美学观点和历史观点的批评标准市公开课金奖市赛课一等奖课件.pptx
- T_CTSS 58-2022_茶叶感官风味轮.pdf
- 2025年北京市朝阳区高三二模物理试卷及答案.pdf
- 保险投诉培训课件.pptx VIP
- SWITCH暗黑破坏神3超级金手指修改 版本号:2.7.4.84040.docx
- 第52次《中国互联网络发展状况统计报告》.docx
- 八年级下册-【知识速记】备战2023年中考地理核心知识背记(湘教版).docx VIP
- 七年级上册(考点梳理课件)-【知识速记】备战2023年中考地理核心知识背记(湘教版).pptx VIP
文档评论(0)