Java学习日记-6 继承
2015-10-24 13:06
253 查看
继承
1.基本介绍
面向对象程序设计三大原则之一。被继承的称为父类,继承类称为子类。
关键字:extends
例子:
子类继承父类的成员(变量和方法),并且可以拥有自己独有的成员。
Java不支持多继承,一个类只能有一个父类。
2.继承中的成员访问控制
继承不会突破private的访问限制,子类不能直接访问父类中的private成员,即使他也拥有这些成员
3.继承和构造函数
在生成有继承关系的类的对象时,父类的构造函数构造父类部分,子类的构造函数构造子类部分。
子类构造函数中第一行代码,必须用super(parameter-list);来调用父类构造函数。
4.super/this
如果子类有和父类同名的成员,那么子类成员会覆盖父类成员,这时如果想要调用父类成员,就要用super.成员名
调用本对象中的成员时,用this.成员名
this()表示在一个构造函数中调用本类的无参构造函数,必须是构造函数中第一个有效语句
super()表示在一个子类中的构造函数中调用父类的无参构造函数,必须是构造函数中第一个有效语句
注意:super()、this() 都要求第一的位置,所以他们不能再同一个构造函数中共存!!
5.引用
父类引用可以引用子类对象,但这时只能调用父类成员,如果要调用子类成员要把引用强转为子类引用。
子类引用不能引用父类对象!
6.方法重写
子类中可以有这样一种方法,它的返回类型和签名同父类中的一个方法完全一样,但是方法体却不同,这样的
情况叫做重写。父类中的方法被子类覆盖,要调用父类中的被重写的方法,需用super关键字。
重写机制可以使得父类引用变量通过引用不同的子类对象,使用同样的方法名实现不同的功能,这时Java实现
多态的一种手段。
注意:父类引用变量引用子类对象,调用被重写的方法时,调用的是子类中重写了的方法,而不是父类中被重
写了的方法。
7.final
在方法前,方法不能被重写
在类名前,类不能被继承
在成员变量前,变量成为常量
8.Object类
Object类是所有类的父类
1.基本介绍
面向对象程序设计三大原则之一。被继承的称为父类,继承类称为子类。
关键字:extends
例子:
class TwoDshape{ double width; double height; void showDim(){ System.out.println("Width and height are "+width+" and "+height); } } class Triangle extends TwoDShape{ String style; double area(){ return width*height/2; } void showStyle(){ System.out.println("Triangle is "+style); } }
子类继承父类的成员(变量和方法),并且可以拥有自己独有的成员。
Java不支持多继承,一个类只能有一个父类。
2.继承中的成员访问控制
继承不会突破private的访问限制,子类不能直接访问父类中的private成员,即使他也拥有这些成员
3.继承和构造函数
在生成有继承关系的类的对象时,父类的构造函数构造父类部分,子类的构造函数构造子类部分。
子类构造函数中第一行代码,必须用super(parameter-list);来调用父类构造函数。
4.super/this
如果子类有和父类同名的成员,那么子类成员会覆盖父类成员,这时如果想要调用父类成员,就要用super.成员名
调用本对象中的成员时,用this.成员名
this()表示在一个构造函数中调用本类的无参构造函数,必须是构造函数中第一个有效语句
super()表示在一个子类中的构造函数中调用父类的无参构造函数,必须是构造函数中第一个有效语句
注意:super()、this() 都要求第一的位置,所以他们不能再同一个构造函数中共存!!
5.引用
父类引用可以引用子类对象,但这时只能调用父类成员,如果要调用子类成员要把引用强转为子类引用。
子类引用不能引用父类对象!
6.方法重写
子类中可以有这样一种方法,它的返回类型和签名同父类中的一个方法完全一样,但是方法体却不同,这样的
情况叫做重写。父类中的方法被子类覆盖,要调用父类中的被重写的方法,需用super关键字。
重写机制可以使得父类引用变量通过引用不同的子类对象,使用同样的方法名实现不同的功能,这时Java实现
多态的一种手段。
注意:父类引用变量引用子类对象,调用被重写的方法时,调用的是子类中重写了的方法,而不是父类中被重
写了的方法。
7.final
在方法前,方法不能被重写
在类名前,类不能被继承
在成员变量前,变量成为常量
8.Object类
Object类是所有类的父类
相关文章推荐
- JAVA基础学习day27--反射机制
- Ehcache 整合Spring 使用页面、对象缓存
- spring aop切面动态代理xml配置实现
- Java中String.equals()方法的实现代码
- 2015 最简单的 Spring MVC 入门教程
- Java通过URL获取资源
- Java System性能监控
- java连接ms sql server各类问题解析
- 静心,理清java知识结构
- Java设计模式7:适配器模式
- SpringMVC @RequestParam 注解
- 通过反射了解泛型的本质
- Java String课堂例子验证
- sqlDeveloper打不开 找不到适配的jdk
- Java jvm 原理
- MyEclipse 2014 破解图文详细教程
- JAVA 基础知识入门
- Eclipse远程调试出现“JDWP Transport dt_socket failed to initialize”的解决方案
- Java基础学习3(类型转换:自动类型转换 和 强制类型转换,字符串String)
- MyEclipse 2014 下载与安装教程