Java_多态

package com.briup.day04;
/**
 * 创建什么类型的对象,就只有该类型对象的空间的操作权限。
 * 引用指向的是new出来的子类对象>>在堆开辟的空间是子类类型的内存和父类类型的操作权限>>不能调用子类中独有的方法
 * instanceof:判断引用指向的内存空间是否为该类型?
 */
public class PolymorphicTest {
	public static void main(String[] args) {
		A2 a = new A2();
		a.show();
		System.out.println(a.s);//推荐类名.静态属性:A2.s
		/*
		 * A2 无参构造器
		 * A2.show: name=null age=0
		 * 1
		 */
		
		B2 b = new B2();
		b.show();
		System.out.println(b.s);
		/*
		 * A2 无参构造器
		 * B2 无参构造器
		 * B2.show name=null age=0 id=0
		 * 2
		 */
		
		A2 c=new B2();
		c.show();
		System.out.println(c.s);
		/**
		 * A2 无参构造器
		 * B2 无参构造器
		 * B2 show null 0 0
		 * 1
		 */
//		c.disp();
//		System.out.println(c.id);
		System.out.println(c instanceof A2); //true
		System.out.println(c instanceof B2); //true
		//向下转型:父类的引用指向子类的对象
		B2 d=(B2) c;
		d.disp();
		System.out.println(d.id);
	}
}
class A2{
	String name;
	int age;
	static int s=1;
	public A2() {
		System.out.println("A2 无参构造器");
	}
	public A2(String name, int age) {
		this.name = name;
		this.age = age;
		System.out.println("A2 两参构造器");
	}
	public void show() {
		System.out.println("A2.show:"+" name="+name+" age="+age);
	}
}
class B2 extends A2{
	int id;
	static int s=2;
	public B2() {
		System.out.println("B2 无参构造器");
	}
	public B2(int id) {
		this.id = id;
		System.out.println("B2(int id)");
	}
	public B2(String name,int age,int id) {
		this.name=name;
		this.age=age;
		this.id = id;		
	}
	@Override
	public void show() {
		System.out.println("B2.show"+" name="+name+" age="+age+" id="+id);
	}
	public void disp() {
		System.out.println("B2 disp...");
	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值