继承学习日志
来源:互联网 发布:区域生长算法详解 编辑:程序博客网 时间:2024/06/02 17:27
子父类出现后,类成员的特点
1,变量
如果子类中出现非私有的同名成员变量时,
子类要访问本类中的变量,用this。 this代表的是本类对象的引用。
子类要访问父类中的同名变量,用super。 super代表的是父类对象的引用。
class Fu
{
private int num = 4;
public void setNum(int num)
{
this.num =num;
}
public int getNum()
{
return this.num;
}
}
class Zi extends Fu
{
int num = 5;
void show()
{
System.out.println(this.num);
System.out.println(super.num);
}
}
class ExtendsDemo
{
public static void main(String[] args)
{
Zi z = new Zi();
z.show();
}
}
输出结果是:5 4。 Zi()类中this.num引用的是本类中的num=4,因为this代表的是本类对象的引用;super.numF引用的是Fu()类中的num=5,因为super代表的是父类对象的引用。
2,子父类中的函数。
当子类出现和父类一模一样的函数时,子类对象调用该函数,会运行子类函数的内容,这种情况是函数的另一个特性:重写(覆盖)。
覆盖:
1,子类覆盖父类,必须保证子类权限大于等于父类权限,才可以覆盖,否则编译失败。
2,静态只能覆盖静态。
class Fu
{
void show()
{
System.out.println("fu show");
}
void speak()
{
System.out.println("vb");
}
}
class Zi extends Fu
{
void show()
{
System.out.println("zi show");
}
void speak()
{
System.out.println("java");
}
}
class ExtendsDemo3
{
public static void main(String[] args)
{
Zi z = new Zi();
z.speak();
}
}
输出结果是:java zi show
3,子父类中的构造函数。
在对子类对象进行初始化时,父类的构造函数也会运行,那是因为子类的构造函数默认第一行有一条隐式的语句 super();super()会访问父类中空参数的构造函数。而且子类中所有的构造函数默认第一行都是super()。所以子类在对象初始化时,要先访问一下父类中的构造函数。
class Fu
{
Fu()
{
System.out.println("fu run");
}
}
class Zi extends Fu
{
Zi()
{
System.out.println("zi run");
}
}
class ExtendsDemo4
{
public static void main(String[] args)
{
Zi z = new Zi();
System.out.println(z.num);
}
}
输出结果是:fu run zi run
- 继承学习日志
- 黑马程序员 学习日志02 继承
- 达内学习日志Day09:继承
- Java学习日志(3)-继承
- 黑马程序员 java基础 继承thread多线程学习日志
- Checklists学习日志之父类、子类、继承、重写
- maven学习日志之四 Maven的聚合与继承
- 2014.05.13日志----继承
- JAVA学习日志 最近学到接口和,接口的继承,写个测试一下
- 黑马程序员——黑马学习日志之六 静态,单例设计模式,继承,多态
- java学习日志(4)内存分配、重载、构造方法、静态常量、this、类的继承
- 继承学习
- “继承”学习
- 学习日志
- 学习日志
- 学习日志
- 学习日志
- 学习日志
- Android视频播放开源库vitamio
- LeetCode_105Construct Binary Tree from Preorder and Inorder Traversal
- git操作分支
- System.Configuration.ConfigurationErrorsException: An error occurred creating the configuration sect
- 注入式开发
- 继承学习日志
- 关于a标签的下载功能
- navicat的注册和安装问题
- 【二分图匹配】zoj1002Fire Net
- HTML样式以及使用
- 【KMP】codevs1204——寻找子串位置
- Hduoj1023【卡特兰数】
- hdoj-1811-Rank of Tetris【并查集+拓扑排序】
- 【php】Apache无法自动跳转却显示目录与php无法连接mysql数据库的解决方案