java10

1、多态
1.1、多态的概述
什么是多态:
同一个对象,在不同时刻表现出来的不同形态。
多态的前提:
要有继承或实现关系要有方法的重写要有父类引用指向子类对象。
1.2、多态中的成员方法的特点
成员访问特点
成员变量
编译看父类,运行看父类
成员方法
编译看父类,运行看子类
1.3、多态的好处和弊端
好处: 提高程序的扩展性。定义方法时候,使用父类型作为参数,在使用的时候,使用具体的子类型参与操作。
弊端: 不能使用子类的特有成员。
1.4、多态的转型
向上转型……父类引用指向子类对象就是向上转型
向下转型……格式:子类型对象名=(子类型)父类引用;
以下为实例代码:
package com.hg.day10.demo01;
public class Fu {
int num = 10;
public Fu() {
//TODO 自动生成的构造函数
}
public Fu(int num) {
//TODO 自动生成的构造函数
}
public class Zi extends Fu {
int num = 20;

public Zi() {
//this(100); !! this和super只能调用一个 !!

super();
System.out.println(“我是子类的无参构造方法”);
1
2
}
public Zi(int n) {
this.num = n;
System.out.println(“我是子类的有参构造方法”+n);
}
public Zi(int n,String name) {
this(1000);
System.out.println(“我是子类的有参构造方法”+n);
}
public void showNum() {
int num = 30;
System.out.println(num);
System.out.println(this.num);
System.out.println(super.num);
}
public void methodA() {
System.out.println(“122”);
}
public void methodB() {
this.methodA();
System.out.println(“456”);
}

}

package com.hg.day10.demo01;

public class demo01Extends {
public static void main (String[] agrs) {
Zi zi = new Zi();
}
}
ackage com.hg.day09.demo05;

public class Fu {
public Fu() {
System.out.println(“父类的无参构造方法”);
}
public Fu(int num){
System.out.println(“父类一个参数的 有参构造方法”);
}
public Fu(int num,String name){
System.out.println(“父类两个参数的 有参构造方法”);
}
public abstract class Animal {
public Animal() {
System.out.println(“抽象父类中的构造方法”);
}
public abstract void eat();

public abstract void foot();

public void normalMethod() {
}

}

package com.hg.day10.demo02;

public class Cat extends Animal {
public Cat () {
System.out.println(“子类中的构造方法”);
}
@Override // 重写
public void eat() {
System.out.println(“猫吃鱼”);
}
public void foot() {
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值