java笔记-继承
来源:互联网 发布:第四方支付系统源码 编辑:程序博客网 时间:2024/05/17 13:42
继承:
1)提高了代码的复用性
2)让类与类之间产生了关系,有了这个关系,才有了多态的特性
3)java只支持单继承,不支持多继承
子类中成员的特点:
class Fu{
int num=4;
}
class Zi extends Fu{
int num=5;
}
class ExtendsDemo{
public static void main(String[] args){
Zi z=new Zi();
System.out.println(z.num+"......"+z.num);
}
}
结果为:5......5
class Fu{
int num=4;
}
class Zi extends Fu{
int num=5;
void show(){
System.out.println(super.num);
}
}
class ExtendsDemo{
public static void main(String[] args){
Zi z=new Zi();
z.show()
}
}
结果为:4
变量
如果子类中出现非私有的同名成员变量时,子类要访问本类中的变量用this,子类要访问父类中的同名变量用super
class Fu{
void show(){
System.out.println("fu show");
}
}
class Zi extends Fu{
void show(){
System.out.println("zi show");
}
}
class ExtendsDemo{
public static void main(String[] args){
Zi z=new Zi();
z.show()
}
}
结果是:zii show子父类中的函数:
1)当子类出现和父类一模一样的函数时,子类对象调用该函数会运行子函数的内容,这种是函数的重写(覆盖)
2)子类覆盖父类,必须保证子类权限大于等于父类权限
3)静态函数只能覆盖静态
说明:重载只看同名函数的参数列表,重写的子父类方法要一模一样
子父类中的构造函数
在对子类对象初始化时,父类的构造函数也会运行;那是因为子类的构造函数默认第一行有一条隐式的语句super;super()会访问父类中空参数的构造函数,而且子类中所有的构造函数默认第一行都是super()
class Fu{
Fu(){
System.out.println("fu show");
}
}
class Zi extends Fu{
Zi(){
System.out.println("zi show");
}
Zi(int x){
System.out.println("zi…"+x);
}
}
class ExtendsDemo{
public static void main(String[] args){
Zi z=new Zi();
Zi z=new Zi(4);
}
}
结果为:
fu show
zi show
zi…4
class Fu{
Fu(int x){
System.out.println("fu show");
}
}
class Zi extends Fu{
Zi(){
super(4);
System.out.println("zi show");
}
Zi(int x){
super(3)
System.out.println("zi…"+x);
}
}
class ExtendsDemo{
public static void main(String[] args){
Zi z=new Zi();
Zi z=new Zi(4);
}
}
结果为:
fu show
zi show
fu show
zi…3
为什么子类一定要访问父类中的构造函数
- JAVA 继承学习笔记
- java 继承-学习笔记
- Java继承学习笔记
- JAVA学习笔记----继承
- JAVA学习笔记-继承
- JAVA学习笔记-继承
- java核心技术笔记 继承
- java笔记09 继承
- Java学习笔记----继承
- java笔记-继承
- Java学习笔记-继承
- java笔记--day08--继承
- Java学习笔记-继承
- JAVA笔记之继承
- JAVA继承学习笔记
- java笔记 继承
- java笔记6继承
- java笔记7继承
- UI之delegate
- UART 通信之RTC/CTS DTR/DSR流控制
- C语言基础 之 switch-case语句
- spinlock自旋锁
- VPN远程连接MySQL失败:shibTue Dec TCP/UDP: Closing socket Tue Dec SIGTERM[soft,auth-failure
- java笔记-继承
- MySQL索引背后的数据结构及算法原理
- android中延迟执行某个任务
- linux多线程编程——同步与互斥
- 基本采样算法及Python实现
- Java的JDBC事务详解
- 单片机C语言中while(1)的问题
- 窗体弹出
- 哈理工OJ 1621迷宫问题II(优先队列广搜)